SerCxCompleteWait 函数 (sercx.h)

SerCxCompleteWait 方法通知串行框架扩展(SerCx)当前等待掩码中的事件已发生。

语法

NTSTATUS SerCxCompleteWait(
  [in] WDFDEVICE Device,
  [in] ULONG     Event
);

参数

[in] Device

表示串行控制器的框架设备对象的 WDFDEVICE 句柄。

[in] Event

结束当前等待操作的事件的类型。 此参数是等待掩码值。 每个事件类型对应于等待掩码中的特定位。 此位设置为指示发生了相应的事件。 有关可由等待掩码指定的事件类型的详细信息,请参阅 SERIAL_EV_XXX

返回值

如果调用成功,SerCxCompleteWait 返回STATUS_SUCCESS。 可能的错误返回值包括以下状态代码。

返回代码 描述
STATUS_INVALID_PARAMETER
指定的事件不包括在当前等待掩码中。

言论

当 SerCx 从客户端收到 IOCTL_SERIAL_SET_WAIT_MASK 请求时,SerCx 中的请求处理程序调用 EvtSerCxWaitmask 回调函数,以通知串行控制器驱动程序等待掩码已更改。 等待掩码指定要监视的串行控制器的一组硬件事件。 在此调用期间,驱动程序将放弃先前 EvtSerCxWaitmask 调用中指定的任何旧等待掩码,然后将串行控制器硬件配置为检测新等待掩码中的事件。

稍后,当发生新的等待掩码中的事件时,驱动程序将调用 SerCxCompleteWait 以通知 SerCx 事件。 如果以前发送的 IOCTL_SERIAL_WAIT_ON_MASK 请求挂起,SerCxCompleteWait 完成此请求,状态为STATUS_SUCCESS,输出等待掩码指示发生了哪个事件。 否则,SerCxCompleteWait 将事件存储在其内部事件历史记录中,以预期将来 IOCTL_SERIAL_WAIT_ON_MASK 请求。

要求

要求 价值
最低支持的客户端 从 Windows 8 开始可用。
目标平台 普遍
标头 sercx.h
IRQL <= DISPATCH_LEVEL

另请参阅

EvtSerCxWaitmask

IOCTL_SERIAL_SET_WAIT_MASK

IOCTL_SERIAL_WAIT_ON_MASK

SERIAL_EV_XXX

SerCxGetWaitMask