ID: Q105302
3.10 3.50 WINDOWS NT kbprg
The information in this article applies to:
- Microsoft Windows NT versions 3.1 and 3.5
If a serial port is in nonoverlapped mode (without FILE_FLAG_OVERLAPPED) and SetCommMask() is called, the call does not return until any pending WaitCommEvent() calls return. This apparently contradicts the following statement from the SetCommMask() Help
If SetCommMask() is called for a communications resource while a wait
is pending for that resource, WaitCommEvent() returns an error.
and the following statement from the WaitCommEvent() Help:
If a process attempts to change the device handle's event mask by
using the SetCommMask() function while a WaitCommEvent() operation
is in progress, WaitCommEvent() returns immediately.
However, this is the expected behavior. If you open a serial port in the
nonoverlapped mode, then you can do only one thing at a time with the
serial port. SetCommMask() must block while the WaitCommEvent() call is
blocking.
If the serial port was opened with FILE_FLAG_OVERLAPPED, WaitCommEvent() will return after SetCommEvent() has been called.
The SDK 3.51 docs have been corrected.
Additional reference words: 3.10 3.50 com1 com2 KBCategory: kbprg KBSubcategory: BseCommapi
Keywords : kbAPI kbKernBase kbGrpKernBase
Version : 3.10 3.50
Platform : NT WINDOWS
Last Reviewed: December 13, 1996