Virtual Communications Device Drivers

A communications resource is a physical or logical device that provides a single asynchronous data stream. Serial ports, parallel ports, FAX machines, and modems are examples of communications resources. The central communications component in Windows 95 is the virtual communications driver (VCOMM), a virtual device (VxD) that manages all access to communications resources.

VCOMM relies on separate VxDs, called port drivers, to access communications resources. This design makes VCOMM easily extensible. To support a nonstandard communications port, you can create a port driver. You may also need to create a port-virtualization VxD to virtualize the port for MS-DOS® – based applications. Under no circumstances should you replace VCOMM itself. Nor should you replace COMM.DRV, as was often necessary with previous versions of Microsoft® Windows™.

The following table briefly describes each component.

Component Description
VCOMM.386 The virtual communications driver. VCOMM is a nonreplaceable system component that manages all access to communications resources. For more information, see About VCOMM.
COMM.DRV The Windows communications driver. COMM.DRV provides a set of exported functions that USER.EXE calls to implement the Windows communications API.

COMM.DRV uses the VCOMM protected-mode API, and is therefore not tied to any specific communications hardware. Hardware vendors should not replace COMM.DRV, as was done in previous versions of Windows, but should create a port driver instead.

Client VxDs Any VxDs that use the VCOMM client VxD services to access communications resources. Port-virtualization VxDs can be VCOMM client VxDs. Certain applications might install VCOMM client VxDs, bypassing the Windows communications API.
Port drivers Installable VxDs that VCOMM uses to access communications devices. Hardware vendors create port drivers to enable Windows applications and VxDs to use their communications ports. For more information, see About Communications Port Drivers.

Port-virtualization VxDs Installable VxDs that virtualize communications hardware for applications running in nonsystem virtual machines (VMs). Communications hardware vendors can create port-virtualization VxDs to virtualize their devices for MS-DOS applications.