Registrations are now open. Join us today!
There is still a lot of work to do on the wiki yet! More information about editing can be found here.
Already have an account?

Microsoft KB Archive/102642

From BetaArchive Wiki

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



The information in this article applies to:
- Microsoft Windows Software Development Kit (SDK) for Windows version 3.1


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.


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.


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.


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


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.