SetCommMask 函数 (winbase.h)

指定要针对通信设备监视的一组事件。

语法

BOOL SetCommMask(
  [in] HANDLE hFile,
  [in] DWORD  dwEvtMask
);

参数

[in] hFile

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

[in] dwEvtMask

要启用的事件。 如果值为零,则禁用所有事件。 此参数可使用以下一个或多个值。

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

返回值

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

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

注解

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

示例

有关示例,请参阅 监视通信事件

要求

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

另请参阅

通信函数

通信资源

CreateFile

DCB

GetCommMask

SetCommState

WaitCommEvent