Microsoft KB Archive/102642

BUG: 32K Limit on Input/Output Queues in COMM.DRV PSS ID Number: Q102642 Article last modified on 05-04-1994

3.10

WINDOWS

= SUMMARY =

The cbInQueue and cbOutQueue parameters of OpenComm are both type UINT and should be valid up to 64K. However, values greater than or equal to 32K cause strange behavior.

= SYMPTOMS =

OpenComm does not fail. However, both WriteComm and ReadComm fail without writing/reading any characters. GetCommError returns a CE_TXFULL on any WriteComm calls, and CE_OVERRUN on any ReadComm calls.

= CAUSE =

There is a signed comparison on the cbInQueue and cbOutQueue parameters in COMM.DRV. Any number greater than or equal to 32K resembles a negative number in these comparisons.

= RESOLUTION =

Assign a value less than 32K to cbInQueue and cbOutQueue.

= STATUS =

This bug will not be fixed for the Windows 3.1 version COMM.DRV.

Additional reference words: 3.10 KBCategory: Prg KBSubcategory: KrCommapi

=
================================================================

Copyright Microsoft Corporation 1994.