UMDF Virtual COM not appearing in "Devices and Printers" or as modem port

Hello.

I’ve written a virtual COM serial to TCP/IP driver using UMDF that basically
works, except for two issues:

  1. The COM port correctly appears in Device Manager under “Ports (COM &
    LPT)”, however if I attempt to use the “Add Hardware Wizard” to bind a
    “Standard 56000 bps Modem” to the COM port, the port does NOT appear in the
    list of available ports! (other serial ports are listed however, including
    USB serial and other vendor virtual COM ports…)

  2. The COM port does NOT appear in the list of Unspecified devices in
    “Devices and Printers”.

I think the two problems are actually the same issue, in that I must not be
registering the serial port device correctly somehow?

The driver itself seems to work however, in that I can use ‘putty’ to talk
to the COM port and it successfully communicates with the remote TCP/IP
socket. Also, my Windows XP build of the driver actually shows the device in
the list of available COM ports when running Hyperterminal, so I must be
fairly close!

Details on the driver:

It is written using UMDF and basically a combination of these two example
drivers from the WDK (version 7600.16385.1):

  • src\serial\VirtualSerial
  • src\general\echo\umdfSocketEcho\Driver

i.e. The driver device creates a GUID_DEVINTERFACE_COMPORT device interface,
implements all the serial IOCTLs (from the VirtualSerial example), and then
forwards all IO read/write requests to a TCP/IP socket file handle (from the
umdfSocketEcho example). The device also has a second custom device
interface which I use to configure the recipient IP address and port using
custom IOCTLs from a configuration app.

The device is root enumerated (like the UMDF VirtualSerial example) and
correctly appears under HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM. I
use the configuration app to install/remove instances using
UpdateDriverForPlugAndPlayDevices() and SetupDiCallClassInstaller(), as per
the devcon.exe example.

I’ve read all the docs I can find on MSDN and I really cant see what I’m
missing. Is it something to do with being a root enumerated or UMDF device?
(thats the only difference I can see - other virtual COM ports all seem to
be bus enumerated rather than root enumerated and kernel-mode drivers).

Can anyone please suggest where I should look next? I really need to be able
to use this device as a modem port.

Thanks!
Scott

I just noticed that the UMDF VirtualSerial sample driver also does not
appear in the list of available modem ports:

Is something missing from this example code? Is there an additional step
required in order to use a COM port with a modem driver?

Thanks

On 26/11/2010 4:43 PM, “Scott McNab” wrote:

Hello.

I’ve written a virtual COM serial to TCP/IP driver using UMDF that basically
works, except for two issues:

1. The COM port correctly appears in Device Manager under “Ports (COM &
LPT)”, however if I attempt to use the “Add Hardware Wizard” to bind a
“Standard 56000 bps Modem” to the COM port, the port does NOT appear in the
list of available ports! (other serial ports are listed however, including
USB serial and other vendor virtual COM ports…)

2. The COM port does NOT appear in the list of Unspecified devices in
“Devices and Printers”.

I think the two problems are actually the same issue, in that I must not be
registering the serial port device correctly somehow?

The driver itself seems to work however, in that I can use ‘putty’ to talk
to the COM port and it successfully communicates with the remote TCP/IP
socket. Also, my Windows XP build of the driver actually shows the device in
the list of available COM ports when running Hyperterminal, so I must be
fairly close!

Details on the driver:

It is written using UMDF and basically a combination of these two example
drivers from the WDK (version 7600.16385.1):

- src\serial\VirtualSerial
- src\general\echo\umdfSocketEcho\Driver

i.e. The driver device creates a GUID_DEVINTERFACE_COMPORT device interface,
implements all the serial IOCTLs (from the VirtualSerial example), and then
forwards all IO read/write requests to a TCP/IP socket file handle (from the
umdfSocketEcho example). The device also has a second custom device
interface which I use to configure the recipient IP address and port using
custom IOCTLs from a configuration app.

The device is root enumerated (like the UMDF VirtualSerial example) and
correctly appears under HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM. I
use the configuration app to install/remove instances using
UpdateDriverForPlugAndPlayDevices() and SetupDiCallClassInstaller(), as per
the devcon.exe example.

I’ve read all the docs I can find on MSDN and I really cant see what I’m
missing. Is it something to do with being a root enumerated or UMDF device?
(thats the only difference I can see - other virtual COM ports all seem to
be bus enumerated rather than root enumerated and kernel-mode drivers).

Can anyone please suggest where I should look next? I really need to be able
to use this device as a modem port.

Thanks!
Scott

Are you sure that your port name is being written to the SERIALCOMM key?

d

dent from a phpne with no keynoard


From: Scott McNab
Sent: November 27, 2010 11:09 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] UMDF Virtual COM not appearing in “Devices and Printers” or as modem port

I just noticed that the UMDF VirtualSerial sample driver also does not appear in the list of available modem ports:

Is something missing from this example code? Is there an additional step required in order to use a COM port with a modem driver?

Thanks

On 26/11/2010 4:43 PM, “Scott McNab” > wrote:

Hello.

I’ve written a virtual COM serial to TCP/IP driver using UMDF that basically works, except for two issues:

1. The COM port correctly appears in Device Manager under “Ports (COM & LPT)”, however if I attempt to use the “Add Hardware Wizard” to bind a “Standard 56000 bps Modem” to the COM port, the port does NOT appear in the list of available ports! (other serial ports are listed however, including USB serial and other vendor virtual COM ports…)

2. The COM port does NOT appear in the list of Unspecified devices in “Devices and Printers”.

I think the two problems are actually the same issue, in that I must not be registering the serial port device correctly somehow?

The driver itself seems to work however, in that I can use ‘putty’ to talk to the COM port and it successfully communicates with the remote TCP/IP socket. Also, my Windows XP build of the driver actually shows the device in the list of available COM ports when running Hyperterminal, so I must be fairly close!

Details on the driver:

It is written using UMDF and basically a combination of these two example drivers from the WDK (version 7600.16385.1):

- src\serial\VirtualSerial
- src\general\echo\umdfSocketEcho\Driver

i.e. The driver device creates a GUID_DEVINTERFACE_COMPORT device interface, implements all the serial IOCTLs (from the VirtualSerial example), and then forwards all IO read/write requests to a TCP/IP socket file handle (from the umdfSocketEcho example). The device also has a second custom device interface which I use to configure the recipient IP address and port using custom IOCTLs from a configuration app.

The device is root enumerated (like the UMDF VirtualSerial example) and correctly appears under HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM. I use the configuration app to install/remove instances using UpdateDriverForPlugAndPlayDevices() and SetupDiCallClassInstaller(), as per the devcon.exe example.

I’ve read all the docs I can find on MSDN and I really cant see what I’m missing. Is it something to do with being a root enumerated or UMDF device? (thats the only difference I can see - other virtual COM ports all seem to be bus enumerated rather than root enumerated and kernel-mode drivers).

Can anyone please suggest where I should look next? I really need to be able to use this device as a modem port.

Thanks!
Scott

— NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Hi Doron

Yes the device is being written to SERIALCOMM correctly (I think!). Heres
the registry export:

[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM]
“\Device\ProlificSerial0”=“COM25”
“\Device\VSerial_0”=“COM5”
“\Device\VSerial_2”=“COM10”
“\Device\VSerial_4”=“COM26”
“\Device\000000cd”=“COM16”
“\Device\00000053”=“COM24”

In this dump COM25 (“ATEN” usb serial port) and COM5/10/26 (“Eltima” virtual
serial port) all appear as unspecified devices in Devices and Printers and
are available for use in the fax wizard.

However COM16 (my device) and COM24 (“Microsoft VirtualSerial User-Mode
Device Sample”) both neither appear in Devices and Printers or in the fax
wizard. I can connect to them using putty if I type the symbolic link
name, and they also appear in the list of available ports if I use
hyperterminal.

Any ideas?

On Sun, Nov 28, 2010 at 11:57 PM, Doron Holan wrote:

> Are you sure that your port name is being written to the SERIALCOMM key?
>
> d
>
> dent from a phpne with no keynoard
>
> ------------------------------
> From: Scott McNab
> Sent: November 27, 2010 11:09 PM
> To: Windows System Software Devs Interest List
> Subject: Re:[ntdev] UMDF Virtual COM not appearing in “Devices and
> Printers” or as modem port
>
> I just noticed that the UMDF VirtualSerial sample driver also does not
> appear in the list of available modem ports:
>
> Is something missing from this example code? Is there an additional step
> required in order to use a COM port with a modem driver?
>
> Thanks
>
> On 26/11/2010 4:43 PM, “Scott McNab” wrote:
>
> Hello.
>
> I’ve written a virtual COM serial to TCP/IP driver using UMDF that
> basically works, except for two issues:
>
> 1. The COM port correctly appears in Device Manager under “Ports (COM &
> LPT)”, however if I attempt to use the “Add Hardware Wizard” to bind a
> “Standard 56000 bps Modem” to the COM port, the port does NOT appear in the
> list of available ports! (other serial ports are listed however, including
> USB serial and other vendor virtual COM ports…)
>
> 2. The COM port does NOT appear in the list of Unspecified devices in
> “Devices and Printers”.
>
> I think the two problems are actually the same issue, in that I must not be
> registering the serial port device correctly somehow?
>
> The driver itself seems to work however, in that I can use ‘putty’ to talk
> to the COM port and it successfully communicates with the remote TCP/IP
> socket. Also, my Windows XP build of the driver actually shows the device in
> the list of available COM ports when running Hyperterminal, so I must be
> fairly close!
>
> Details on the driver:
>
> It is written using UMDF and basically a combination of these two example
> drivers from the WDK (version 7600.16385.1):
>
> - src\serial\VirtualSerial
> - src\general\echo\umdfSocketEcho\Driver
>
> i.e. The driver device creates a GUID_DEVINTERFACE_COMPORT device
> interface, implements all the serial IOCTLs (from the VirtualSerial
> example), and then forwards all IO read/write requests to a TCP/IP socket
> file handle (from the umdfSocketEcho example). The device also has a second
> custom device interface which I use to configure the recipient IP address
> and port using custom IOCTLs from a configuration app.
>
> The device is root enumerated (like the UMDF VirtualSerial example) and
> correctly appears under HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM. I
> use the configuration app to install/remove instances using
> UpdateDriverForPlugAndPlayDevices() and SetupDiCallClassInstaller(), as per
> the devcon.exe example.
>
> I’ve read all the docs I can find on MSDN and I really cant see what I’m
> missing. Is it something to do with being a root enumerated or UMDF device?
> (thats the only difference I can see - other virtual COM ports all seem to
> be bus enumerated rather than root enumerated and kernel-mode drivers).
>
> Can anyone please suggest where I should look next? I really need to be
> able to use this device as a modem port.
>
> Thanks!
> Scott
>
> — NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and
> other seminars visit: http://www.osr.com/seminars To unsubscribe, visit
> the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>

Hi Scott,

Have you set the device type of your driver as FILE_DEVICE_SERIAL_PORT?

This can be specified at installation by adding the following to your
inf file:

[VitualComPort_Install.NT.hw]
AddReg=VitualComPort_RegistryAdd

[VitualComPort_RegistryAdd]
HKR,DeviceType,0x10001,0x0000001b

Alex

On 29/11/2010 02:35, Scott McNab wrote:

Hi Doron

Yes the device is being written to SERIALCOMM correctly (I think!).
Heres the registry export:

[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM]
“\Device\ProlificSerial0”=“COM25”
“\Device\VSerial_0”=“COM5”
“\Device\VSerial_2”=“COM10”
“\Device\VSerial_4”=“COM26”
“\Device\000000cd”=“COM16”
“\Device\00000053”=“COM24”

In this dump COM25 (“ATEN” usb serial port) and COM5/10/26 (“Eltima”
virtual serial port) all appear as unspecified devices in Devices and
Printers and are available for use in the fax wizard.

However COM16 (my device) and COM24 (“Microsoft VirtualSerial User-Mode
Device Sample”) both neither appear in Devices and Printers or in the
fax wizard. I can connect to them using putty if I type the symbolic
link name, and they also appear in the list of available ports if I use
hyperterminal.

Any ideas?

On Sun, Nov 28, 2010 at 11:57 PM, Doron Holan > mailto:xxxxx> wrote:
>
> Are you sure that your port name is being written to the SERIALCOMM key?
>
> d
>
> dent from a phpne with no keynoard
>
> ------------------------------------------------------------------------
> From: Scott McNab >
> Sent: November 27, 2010 11:09 PM
> To: Windows System Software Devs Interest List > mailto:xxxxx>
> Subject: Re:[ntdev] UMDF Virtual COM not appearing in “Devices and
> Printers” or as modem port
>
> I just noticed that the UMDF VirtualSerial sample driver also does
> not appear in the list of available modem ports:
>
> Is something missing from this example code? Is there an additional
> step required in order to use a COM port with a modem driver?
>
> Thanks
>
>> On 26/11/2010 4:43 PM, “Scott McNab” >> mailto:xxxxx> wrote:
>>
>> Hello.
>>
>> I’ve written a virtual COM serial to TCP/IP driver using UMDF that
>> basically works, except for two issues:
>>
>> 1. The COM port correctly appears in Device Manager under “Ports
>> (COM & LPT)”, however if I attempt to use the “Add Hardware
>> Wizard” to bind a “Standard 56000 bps Modem” to the COM port, the
>> port does NOT appear in the list of available ports! (other serial
>> ports are listed however, including USB serial and other vendor
>> virtual COM ports…)
>>
>> 2. The COM port does NOT appear in the list of Unspecified
>> devices in “Devices and Printers”.
>>
>> I think the two problems are actually the same issue, in that I
>> must not be registering the serial port device correctly somehow?
>>
>> The driver itself seems to work however, in that I can use ‘putty’
>> to talk to the COM port and it successfully communicates with the
>> remote TCP/IP socket. Also, my Windows XP build of the driver
>> actually shows the device in the list of available COM ports when
>> running Hyperterminal, so I must be fairly close!
>>
>> Details on the driver:
>>
>> It is written using UMDF and basically a combination of these two
>> example drivers from the WDK (version 7600.16385.1):
>>
>> - src\serial\VirtualSerial
>> - src\general\echo\umdfSocketEcho\Driver
>>
>> i.e. The driver device creates a GUID_DEVINTERFACE_COMPORT device
>> interface, implements all the serial IOCTLs (from the
>> VirtualSerial example), and then forwards all IO read/write
>> requests to a TCP/IP socket file handle (from the umdfSocketEcho
>> example). The device also has a second custom device interface
>> which I use to configure the recipient IP address and port using
>> custom IOCTLs from a configuration app.
>>
>> The device is root enumerated (like the UMDF VirtualSerial
>> example) and correctly appears under
>> HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM. I use the
>> configuration app to install/remove instances using
>> UpdateDriverForPlugAndPlayDevices() and
>> SetupDiCallClassInstaller(), as per the devcon.exe example.
>>
>> I’ve read all the docs I can find on MSDN and I really cant see
>> what I’m missing. Is it something to do with being a root
>> enumerated or UMDF device? (thats the only difference I can see -
>> other virtual COM ports all seem to be bus enumerated rather than
>> root enumerated and kernel-mode drivers).
>>
>> Can anyone please suggest where I should look next? I really need
>> to be able to use this device as a modem port.
>>
>> Thanks!
>> Scott
>>
> — NTDEV is sponsored by OSR For our schedule of WDF, WDM,
> debugging and other seminars visit: http://www.osr.com/seminars To
> unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
></mailto:xxxxx></mailto:xxxxx></mailto:xxxxx>

Yes thanks Alex I have this one also.
I am sure it is in the right section of the inf too, as I have also tried
“HKR,Exclusive,0x10001,1” and confirmed that this setting works when
applied.

Here is my full .inx file that build uses to generate the .inf files for
each platform:

;
; VirtualComPort.inf
;

[Version]
Signature=“$Windows NT$”
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Provider=%Virtual%
DriverVer=10/08/2010,0.0.0.2
DriverPackageDisplayName=%VirtualComPortDisplayName%
CatalogFile=virtualcom.cat

[Manufacturer]
%Virtual%=Virtual,NTx86, NTamd64

; For XP and later
[Virtual.NTx86]
%VirtualComPortDeviceName%=VirtualComPort_Install,UMDF\VirtualComPort

[Virtual.NTamd64]
%VirtualComPortDeviceName%=VirtualComPort_Install,UMDF\VirtualComPort

[SourceDisksFiles]
VirtualComPort.dll=1,
ComPrtCo.dll=1,
WudfUpdate_$UMDFCOINSTALLERVERSION$.dll=1,

[SourceDisksNames.x86]
1 = %MediaDescription%, virtualcomport.tag,\i386

[SourceDisksNames.amd64]
1 = %MediaDescription%, virtualcomport.tag,\amd64

; =================== UMDF VirtualComPort Device

[VirtualComPort_Install.NT]
CopyFiles=UMDriverCopy
AddReg=VirtualComPort_Install.NT.AddReg

[VirtualComPort_Install.NT.AddReg]
;HKR,EnumPropPages32,“MsPorts.dll,SerialPortPropPageProvider”

[VirtualComPort_Install.NT.hw]
AddReg=VirtualComPort_Device.NT.HW.AddReg

[VirtualComPort_Device.NT.HW.AddReg]
HKR,“VirtualComPort”,“Host”,0x00000002,“127.0.0.1”
HKR,“VirtualComPort”,“Port”,0x10003,“53001”
HKR,DeviceType,0x10001,0x0000001b
;HKR,Exclusive,0x10001,1

[VirtualComPort_Install.NT.Services]
AddService=WUDFRd,%SPSVCINST_ASSOCSERVICE%,Virtual_Service_Install

[VirtualComPort_Install.NT.CoInstallers]
CopyFiles=CoInstallers_CopyFiles
AddReg=CoInstallers_AddReg

[VirtualComPort_Install.NT.Wdf]
UmdfService=VirtualComPort,VirtualComPort_Install
UmdfServiceOrder=VirtualComPort
UmdfDispatcher=FileHandle

[VirtualComPort_Install]
UmdfLibraryVersion=$UMDFVERSION$
ServiceBinary=%12%\UMDF\VirtualComPort.dll
DriverCLSID={2E240F83-5EA5-4350-9A84-13DE3A647596}

[Virtual_Service_Install]
DisplayName = %WudfRdDisplayName%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\WUDFRd.sys
LoadOrderGroup = Base

[CoInstallers_CopyFiles]
WudfUpdate_$UMDFCOINSTALLERVERSION$.dll
ComPrtCo.dll

[CoInstallers_AddReg]
;HKR,CoInstallers32,0x00010000,“WUDFUpdate_$UMDFCOINSTALLERVERSION$.dll”
HKR,CoInstallers32,0x00010000,“WUDFUpdate_$UMDFCOINSTALLERVERSION$.dll”,“ComPrtCo.dll,VirtualComPortCoInstaller”

[DestinationDirs]
UMDriverCopy=12,UMDF ; copy to drivers\UMDF
CoInstallers_CopyFiles=11

[UMDriverCopy]
VirtualComPort.dll

; =================== Generic ==================================

[Strings]
SPSVCINST_ASSOCSERVICE=0x000001fa
Virtual=“Virtual Logic”
MediaDescription=“Virtual Logic Driver Installation Media”
WudfRdDisplayName=“Virtual Logic - Com Port Driver”
VirtualComPortDeviceName=“Virtual Com Port”
VirtualComPortDisplayName=“Com Port”

On Mon, Nov 29, 2010 at 7:25 PM, Alex Mason wrote:

> Hi Scott,
>
> Have you set the device type of your driver as FILE_DEVICE_SERIAL_PORT?
>
> This can be specified at installation by adding the following to your inf
> file:
>
> [VitualComPort_Install.NT.hw]
> AddReg=VitualComPort_RegistryAdd
>
> [VitualComPort_RegistryAdd]
> HKR,DeviceType,0x10001,0x0000001b
>
> Alex
>
>
>
> On 29/11/2010 02:35, Scott McNab wrote:
>
>> Hi Doron
>>
>> Yes the device is being written to SERIALCOMM correctly (I think!).
>> Heres the registry export:
>>
>> [HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM]
>> “\Device\ProlificSerial0”=“COM25”
>> “\Device\VSerial_0”=“COM5”
>> “\Device\VSerial_2”=“COM10”
>> “\Device\VSerial_4”=“COM26”
>> “\Device\000000cd”=“COM16”
>> “\Device\00000053”=“COM24”
>>
>> In this dump COM25 (“ATEN” usb serial port) and COM5/10/26 (“Eltima”
>> virtual serial port) all appear as unspecified devices in Devices and
>>
>> Printers and are available for use in the fax wizard.
>>
>> However COM16 (my device) and COM24 (“Microsoft VirtualSerial User-Mode
>> Device Sample”) both neither appear in Devices and Printers or in the
>> fax wizard. I can connect to them using putty if I type the symbolic
>> link name, and they also appear in the list of available ports if I use
>> hyperterminal.
>>
>> Any ideas?
>>
>>
>>
>>
>> On Sun, Nov 28, 2010 at 11:57 PM, Doron Holan >> mailto:xxxxx> wrote:
>>
>> Are you sure that your port name is being written to the SERIALCOMM
>> key?
>>
>> d
>>
>> dent from a phpne with no keynoard
>>
>>
>> ------------------------------------------------------------------------
>> From: Scott McNab >> >>
>>
>> Sent: November 27, 2010 11:09 PM
>> To: Windows System Software Devs Interest List >> mailto:xxxxx>
>>
>> Subject: Re:[ntdev] UMDF Virtual COM not appearing in “Devices and
>> Printers” or as modem port
>>
>> I just noticed that the UMDF VirtualSerial sample driver also does
>> not appear in the list of available modem ports:
>>
>> Is something missing from this example code? Is there an additional
>> step required in order to use a COM port with a modem driver?
>>
>> Thanks
>>
>> On 26/11/2010 4:43 PM, “Scott McNab” >>> mailto:xxxxx> wrote:
>>>
>>> Hello.
>>>
>>> I’ve written a virtual COM serial to TCP/IP driver using UMDF that
>>> basically works, except for two issues:
>>>
>>> 1. The COM port correctly appears in Device Manager under “Ports
>>> (COM & LPT)”, however if I attempt to use the “Add Hardware
>>> Wizard” to bind a “Standard 56000 bps Modem” to the COM port, the
>>> port does NOT appear in the list of available ports! (other serial
>>> ports are listed however, including USB serial and other vendor
>>> virtual COM ports…)
>>>
>>> 2. The COM port does NOT appear in the list of Unspecified
>>> devices in “Devices and Printers”.
>>>
>>> I think the two problems are actually the same issue, in that I
>>> must not be registering the serial port device correctly somehow?
>>>
>>> The driver itself seems to work however, in that I can use ‘putty’
>>> to talk to the COM port and it successfully communicates with the
>>> remote TCP/IP socket. Also, my Windows XP build of the driver
>>> actually shows the device in the list of available COM ports when
>>> running Hyperterminal, so I must be fairly close!
>>>
>>> Details on the driver:
>>>
>>> It is written using UMDF and basically a combination of these two
>>> example drivers from the WDK (version 7600.16385.1):
>>>
>>> - src\serial\VirtualSerial
>>> - src\general\echo\umdfSocketEcho\Driver
>>>
>>> i.e. The driver device creates a GUID_DEVINTERFACE_COMPORT device
>>> interface, implements all the serial IOCTLs (from the
>>> VirtualSerial example), and then forwards all IO read/write
>>> requests to a TCP/IP socket file handle (from the umdfSocketEcho
>>> example). The device also has a second custom device interface
>>> which I use to configure the recipient IP address and port using
>>> custom IOCTLs from a configuration app.
>>>
>>> The device is root enumerated (like the UMDF VirtualSerial
>>> example) and correctly appears under
>>> HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM. I use the
>>> configuration app to install/remove instances using
>>> UpdateDriverForPlugAndPlayDevices() and
>>> SetupDiCallClassInstaller(), as per the devcon.exe example.
>>>
>>> I’ve read all the docs I can find on MSDN and I really cant see
>>> what I’m missing. Is it something to do with being a root
>>> enumerated or UMDF device? (thats the only difference I can see -
>>> other virtual COM ports all seem to be bus enumerated rather than
>>> root enumerated and kernel-mode drivers).
>>>
>>> Can anyone please suggest where I should look next? I really need
>>> to be able to use this device as a modem port.
>>>
>>> Thanks!
>>> Scott
>>>
>>> — NTDEV is sponsored by OSR For our schedule of WDF, WDM,
>> debugging and other seminars visit: http://www.osr.com/seminars To
>> unsubscribe, visit the List Server section of OSR Online at
>> http://www.osronline.com/page.cfm?name=ListServer
>>
>> —
>> NTDEV is sponsored by OSR
>>
>> For our schedule of WDF, WDM, debugging and other seminars visit:
>> http://www.osr.com/seminars
>>
>> To unsubscribe, visit the List Server section of OSR Online at
>> http://www.osronline.com/page.cfm?name=ListServer
>>
>>
>>
>
> —
>
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
></mailto:xxxxx></mailto:xxxxx></mailto:xxxxx>

Maybe is just a coincidence but in your list above, you don’t see the port when the associated device doesn’t have an explicit name. Did you try to name your device?

Hmmm good point. I think that name is the one automatically allocated by the
port class installer.

How would I go about naming the device? Do you know which API function I
should use?

Thanks
Scott

On Wed, Dec 1, 2010 at 8:21 AM, wrote:

> Maybe is just a coincidence but in your list above, you don’t see the port
> when the associated device doesn’t have an explicit name. Did you try to
> name your device?
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>