BUG: 32K Limit on Input/Output Queues in COMM.DRV PSS ID Number: Q102642 Article last modified on 05-04-1994
3.10
WINDOWS
The information in this article applies to: |
- Microsoft Windows Software Development Kit (SDK) for Windows version 3.1 |
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.