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 事件标志的按位 OR。

输出缓冲区长度

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

状态块

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

Status 成员设置为串行设备控制请求的一般状态值之一。

注解

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 常量的按位 OR。 等待掩码值为零表示客户端未等待任何事件。

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

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

标志位 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 的详细信息,请参阅 串行控制器驱动程序概述

要求

要求
Header 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