Microsoft KB Archive/832678

= You cannot use the Microsoft Communications ActiveX Control to access a Universal Serial Bus port =

Article ID: 832678

Article Last Modified on 11/16/2007

-

APPLIES TO


 * Microsoft Visual Basic 6.0 Enterprise Edition
 * Microsoft Visual Basic 6.0 Professional Edition
 * Microsoft Visual Basic 6.0 Learning Edition

-





SUMMARY
This article discusses why you cannot use the Microsoft Communications ActiveX control (MSComm) to access a Universal Serial Bus (USB) port.



MORE INFORMATION
The MSComm control is implemented in the MSComm32.ocx file. The MSComm control permits you to provide serial communications that transmit data and that receive data by using a serial port for an application. You can use the MSComm control to provide serial communications that use a communications (COM) port. A COM port is a serial port. However, you cannot use the MSComm control to provide serial communications that use a USB port. A USB port is not a serial port. A USB port is a bus. Therefore, by design, you cannot use the MSComm control to access a USB port.

A USB port is a bus that is designed to provide Plug and Play functionality for some peripheral devices. A USB port behaves more like an integrated device electronics (IDE) controller than like an ordinary serial port. Therefore, you cannot access a USB device if you are in user mode. To access a USB device, use an appropriate device driver that can access the USB device in kernel mode. Some USB devices include device drivers that handle this type of communication.

Note You cannot use the MSComm control to access a USB serial adapter that is connected to a USB port. If you try to use the MSComm control to access a USB port, you may receive the following error message:

Run-time error '8015': Could not set comm state, there may be one or more invalid communications parameters.

