IOCTL_SERIAL_GET_WAIT_MASK IOCTL (ntddser.h)

IOCTL_SERIAL_GET_WAIT_MASK 请求返回当前为串行控制器设置的事件等待掩码。

客户端可以通过 SERIAL_EV_EVENT2等待标志位表示的等待事件 SERIAL_EV_RXCHAR。 有关这些事件标志的详细信息,请参阅“备注”部分。

若要设置事件等待掩码,客户端可以使用 IOCTL_SERIAL_SET_WAIT_MASK 请求。 若要等待出现等待事件,客户端使用 IOCTL_SERIAL_WAIT_ON_MASK 请求。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

没有。

输入缓冲区长度

没有。

输出缓冲区

AssociatedIrp.SystemBuffer 成员指向串行控制器驱动程序用于输出等待掩码的客户端分配的 ULONG 缓冲区。 等待掩码为零或位或位或一个或多个 SERIAL_EV_XXX 事件标志。

输出缓冲区长度

Parameters.DeviceIoControl.OutputBufferLength 成员设置为 ULONG 的大小(以字节为单位)。

状态块

如果请求成功,则 信息 成员设置为 ULONG 的大小(以字节为单位)。 否则,信息 成员设置为零。

状态 成员设置为串行设备控制请求 泛型状态值之一。

言论

SERIAL_EV_XXX 常量定义串行端口的等待掩码中的标志位。

#define SERIAL_EV_RXCHAR     0x0001
#define SERIAL_EV_RXFLAG     0x0002
#define SERIAL_EV_TXEMPTY    0x0004
#define SERIAL_EV_CTS        0x0008
#define SERIAL_EV_DSR        0x0010
#define SERIAL_EV_RLSD       0x0020
#define SERIAL_EV_BREAK      0x0040
#define SERIAL_EV_ERR        0x0080
#define SERIAL_EV_RING       0x0100
#define SERIAL_EV_PERR       0x0200
#define SERIAL_EV_RX80FULL   0x0400
#define SERIAL_EV_EVENT1     0x0800
#define SERIAL_EV_EVENT2     0x1000

SERIAL_EV_XXX 常量定义可以在等待掩码中指定的事件类型。 在客户端(应用程序或外围驱动程序)打开与串行端口的连接后,客户端可以指定一个等待掩码,指示客户端需要监视的事件类型。 这些事件是串行端口的硬件状态更改。 当发生等待掩码中的事件时,将通知客户端。

IOCTL_SERIAL_SET_WAIT_MASKIOCTL_SERIAL_GET_WAIT_MASK 控制请求使用事件等待掩码来指定客户端可以等待的事件集。 等待掩码值为零或位或一个或多个 SERIAL_EV_XXX 常量。 等待掩码值为零表示客户端未等待任何事件。

客户端发送 IOCTL_SERIAL_WAIT_ON_MASK 控制请求来等待当前设置的等待掩码中的事件。 当发生等待掩码中的事件时,串行控制器驱动程序将完成此请求。

下表显示了 SerCx2、SerCx 和 Serial.sys支持哪些 SERIAL_EV_XXX 标志位。 表中 项表示串行框架扩展或驱动程序支持相应的标志位。 “无”条目表示标志位 不受 支持。

标志位 SerCx2 SerCx Serial.sys
SERIAL_EV_RXCHAR 是的 是的 是的
SERIAL_EV_RXFLAG 请参阅注释。 是的
SERIAL_EV_TXEMPTY 是的 是的 是的
SERIAL_EV_CTS 是的 是的 是的
SERIAL_EV_DSR 是的 是的 是的
SERIAL_EV_RLSD 请参阅注释。 是的 是的
SERIAL_EV_BREAK 是的 是的 是的
SERIAL_EV_ERR 是的 是的 是的
SERIAL_EV_RING 请参阅注释。 是的 是的
SERIAL_EV_PERR 请参阅注释。
SERIAL_EV_RX80FULL 请参阅注释。 是的
SERIAL_EV_EVENT1 请参阅注释。
SERIAL_EV_EVENT2 请参阅注释。
 
注释 SerCx2 可能或可能不支持所指示表项中的标志位,具体取决于串行控制器驱动程序和串行控制器硬件的功能。
 
有关 SerCx2、SerCx 和 Serial.sys的详细信息,请参阅 串行控制器驱动程序概述

要求

要求 价值
标头 ntddser.h (包括 Ntddser.h)

另请参阅

IOCTL_SERIAL_GET_CHARS

IOCTL_SERIAL_SET_CHARS

IOCTL_SERIAL_SET_WAIT_MASK

IOCTL_SERIAL_WAIT_ON_MASK

SERIAL_CHARS

SERIAL_STATUS