The GetCommMask function retrieves the value of the event mask for a specified communications device.
BOOL GetCommMask(
| HANDLE hFile, | // handle of communications device | 
| LPDWORD lpEvtMask | // address of variable to get event mask | 
| ); | 
| Value | Meaning | 
| EV_BREAK | A break was detected on input. | 
| EV_CTS | The CTS (clear-to-send) signal changed state. | 
| EV_DSR | The DSR (data-set-ready) signal changed state. | 
| EV_ERR | A line-status error occurred. Line-status errors are CE_FRAME, CE_OVERRUN, and CE_RXPARITY. | 
| EV_EVENT1 | An event of the first provider-specific type occured. | 
| EV_EVENT2 | An event of the second provider-specific type occured. | 
| EV_PERR | A printer error occured. | 
| EV_RING | A ring indicator was detected. | 
| EV_RLSD | The RLSD (receive-line-signal-detect) signal changed state. | 
| EV_RX80FULL | The receive buffer is 80 percent full. | 
| EV_RXCHAR | A character was received and placed in the input buffer. | 
| EV_RXFLAG | The event character was received and placed in the input buffer. The event character is specified in the device’s DCB structure, which is applied to a serial port by using the SetCommState function. | 
| EV_TXEMPTY | The last character in the output buffer was sent. | 
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
The GetCommMask function uses a 32-bit mask variable to indicate the set of events that can be monitored for a particular communications resource. A handle to the communications resource can be specified in a call to the WaitCommEvent function, which waits for one of the events to occur. To modify the event mask of a communications resource, use the SetCommMask function.
CreateFile, DCB, SetCommMask, WaitCommEvent,