is the state of the art serial communications Virtual Device Driver (VxD)
for Windows 98(16 & 32 bits), Windows 95(16 & 32 bits), Windows 3.x(16 bits),
Console, and MS-DOS® applications running under Windows. COMM-DRV/VxD extracts the
last ounce of performance from the aging 8250, and 16450 UARTs as well as lightning fast
performance from the 16550, 16650, 16750 family of UARTs. If your application requires
ultra fast serial communications, COMM-DRV/VxD is the tool of choice for most
COMM-DRV/VxD was designed with interoperability in mind. It uses
the Windows standard DLL calling conventions. As such, COMM-DRV/VxD may be
integrated with any Windows tool, application, or language that can call the Windows API
(WIN16 or WIN32). COMM-DRV/VxD may be used with Visual C/C++, Borland C/C++, Watcom
C/C++, Visual Basic, Access, Excel, Paradox, and a myriad of other tools and applications.
COMM-DRV/VxD is extremely easy to use. The API is simple,
concise, and intuitive. Ample examples are provided. COMM-DRV/VxD may be integrated
with all other WCSC communication products.
- Provides support for RS485/RS422 devices. It can automatically drop the
RTS signal when all data has been transmitted for optimum control of the RS485 buses or
other devices requiring said protocol.
- Provides built in support for the nine bit protocol. With one call
the first byte is sent with 9 bits while the others are transmitted normally.
- Supports WIN32, WIN16, CONSOLE, and MS-DOS
applications running concurrently.
- Supports any number of serial ports active concurrently with receive and
transmit buffers of any size.
- Supports baud rates in excess of 400K.
- Provides automatic hardware flow control(RTS/CTS, DTR/DSR), as well as
software flow control(XON/XOFF).
- Provides seamless integration with COMM-DRV/Lib and COMM-DRV/Dos.
- Supports the built in PC COM ports and ALL non-intelligent
multiport cards based on the 8250, 16450, 16550, 16650, and 16750 family of UARTs.
- Peek ahead virtually any number of bytes.
- Interrupts, buffering, and flow control handled in 32 bit mode of the CPU
in Ring 0.
- Autodetects 16550 and uses it in high speed mode.
- Allows sharing IRQs on supporting hardware.
Application Programming Interface(API):
- WCSCVxDBreakOff Resets the port from the break state.
- WCSCVxDBreakOn Puts the port in the break state.
- WCSCVxDBytesInRcvBuf Returns number of bytes in receive buffer.
- WCSCVxDBytesInXmtBuf Returns number of bytes in transmit buffer.
- WCSCVxDCleanup Closes an opened port.
- WCSCVxDDtrOff Turn DTR off.
- WCSCVxDDtrOn Turn DTR on.
- WCSCVxDFlush Purges communication buffers.
- WCSCVxDGetMetrics Return port statistics on specific items.
- WCSCVxDGetPacket Get a packet of data.
- WCSCVxDGetPort Get port metrics.
- WCSCVxDGetRegister Read an 8250/16450/16550 register value.
- WCSCVxDInit Map dynamically to the VxD.
- WCSCVxDInitializePort Open a port.
- WCSCVxDIsAllDataOut Returns true if transmit buffer is empty as
well as the UART is empty.
- WCSCVxDOpenPort Opens the serial port(preferred).
- WCSCVxDPutPacket Output a packet of data.
- WCSCVxDPutRegister Write to an 8250/16450/16550 register.
- WCSCVxDRtsOff Turn RTS off.
- WCSCVxDRtsOn Turn RTS on.
- WCSCVxDSetBaudDiv Set new baud rate divisor(for non standard baud
- WCSCVxDSetPortCharacteristics Set new port characteristics(baud
- WCSCVxDSetup Extended port open.
- WCSCVxDSizeOfRcvBuf Get size of receive buffer.
- WCSCVxdSizeOfXmtBuf Get size of transmit buffer.
- WCSCVxDSpaceInRcvBuf Get available space in receive buffer.
- WCSCVxdSpaceInXmtBuf Get available space in transmit buffer.
- WCSCVxDViewPacket Non-destructively reads a packet of data.