Port Contention

A VxD must use the VCOMM contention services (VCOMM_Get_Contention_Handler, ACQUIRE_RESOURCE, RELEASE_RESOURCE, and so on) to coexist properly with other drivers in the system that write to parallel ports (for example, LPT.VXD for printing and LPTENUM.VXD for enumeration).

This section describes services for managing contention for COM ports, LPT ports, and other VCOMM devices by VxDs and VMs. This section also explains how multiple VxD device drivers can simultaneously access dongles and other passthrough devices attached to a parallel port.

A VCOMM resource is any device that has a VCOMM driver installed (for example, COM1 and LPT1). A VCOMM resource is also any device for which VCOMM is the device loader.

A contention handler is the VxD that provides acquiring and releasing services for a VCOMM resource.

The INF file for a VCOMM device driver specifies the name of its contention handler VxD. For COM ports, this is *VCD, and for LPT ports, this is *VPD. If no contention handler is specified for a device, VCOMM is used by default.