Port Enumeration

At boot time, enumerators create device nodes for each plug-and-play communications device in the system, specifying VCOMM as the device loader. The system calls VCOMM for each device, specifying the corresponding device node. VCOMM is also called if plug-and-play communications are added to the system at run time. If the device node specifies an enumerator, VCOMM loads the enumerator.

After being loaded, the enumerator registers itself with VCOMM by calling the CONFIGMG_Register_Enumerator service. It then adds device nodes for any plug-and-play devices attached to the port. The enumerator and port driver should be separate components because the enumerator is always present, but the port driver is present only when needed. However, the enumerator should use the port driver to access the device.

The following registry entries exist for plug-and-play devices supported by VCOMM and port drivers.


[...\PNPID\Instance_Num]
DeviceDesc=Description of device (optional)
BootConfig=Configuration (I/O ports and IRQs found at boot time)
Class=Device class (optional)
PortName=Port name of the form COMx, LPTx, and so on
FriendlyName=Friendly name by which the port can be opened

[...\PNPID\Instance_Num\DRV]
DevLoader=VCOMM
PortDriver=Driver name
FriendlyDriver=Friendly name of port driver (optional)
Enumerator=Name of detection module for plug-and-play devices
    attached to the port (optional)
DeviceType=Type of device. Can be a combination of flags, such
    as PST_RS232, PST_LPT, and PST_MODEM

[...\PNPID\Instance_Num\logConfig]
0=Preferred logical configuration
1=Allowed logical configuration 1 (optional)
    .
    .
    .
n=Allowed logical configuration n (optional)

See also CONFIGMG_Register_Enumerator