GetCommMask 函数 (winbase.h)

检索指定通信设备的事件掩码的值。

语法

BOOL GetCommMask(
  [in]  HANDLE  hFile,
  [out] LPDWORD lpEvtMask
);

参数

[in] hFile

通信设备的句柄。 CreateFile 函数返回此句柄。

[out] lpEvtMask

指向变量的指针,该变量接收当前启用的事件掩码。 此参数可使用以下一个或多个值。

含义
EV_BREAK
0x0040
在输入上检测到一个中断。
EV_CTS
0x0008
CTS (明确发送) 信号更改状态。
EV_DSR
0x0010
DSR (数据集就绪) 信号更改状态。
EV_ERR
0x0080
发生行状态错误。 行状态错误CE_FRAME、CE_OVERRUNCE_RXPARITY
EV_EVENT1
0x0800
发生了第一个特定于提供程序的事件。
EV_EVENT2
0x1000
发生了第二个提供程序特定类型的事件。
EV_PERR
0x0200
发生打印机错误。
EV_RING
0x0100
检测到振铃指示。
EV_RLSD
0x0020
RLSD (receive-line-signal-detect) 信号更改状态。
EV_RX80FULL
0x0400
接收缓冲区已满 80%。
EV_RXCHAR
0x0001
接收到了一个字符并将其放入了输入缓冲区。
EV_RXFLAG
0x0002
事件字符已收到并放置在输入缓冲区中。 事件字符在设备的 DCB 结构中指定,该结构使用 SetCommState 函数应用于串行端口。
EV_TXEMPTY
0x0004
输出缓冲区中的最后一个字符已发送。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

GetCommMask 函数使用掩码变量来指示可针对特定通信资源监视的事件集。 可以在对 WaitCommEvent 函数的调用中指定通信资源的句柄,该函数等待其中一个事件发生。 若要修改通信资源的事件掩码,请使用 SetCommMask 函数。

要求

要求
最低受支持的客户端 Windows XP [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2003 [桌面应用 | UWP 应用]
目标平台 Windows
标头 winbase.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

通信函数

通信资源

CreateFile

DCB

SetCommMask

WaitCommEvent