StorPortWaitForSingleObject 函数 (storport.h)

微型端口可以调用 StorPortWaitForSingleObject 函数,将当前线程置于等待状态,直到给定调度程序对象设置为信号状态或选择性超时。

语法

ULONG StorPortWaitForSingleObject(
  PVOID          HwDeviceExtension,
  PVOID          Object,
  BOOLEAN        Alertable,
  PLARGE_INTEGER Timeout
);

参数

HwDeviceExtension

指向存储微型端口的设备扩展的指针。

Object

指向初始化的调度程序对象的指针(事件、互斥体、信号灯、线程或计时器)。

Alertable

如果等待是可警报的,则布尔值设置 TRUE;否则为 FALSE。

Timeout

指向指定绝对时间或相对时间的超时值的指针,以 100 纳秒为单位,等待完成。

正值指定相对于 1601 年 1 月 1 日绝对时间。 负值指定相对于当前时间的间隔。 绝对过期时间跟踪系统时间中的任何更改;相对过期时间不受系统时间更改的影响。

如果 超时 = 0,则例程返回而不等待。 如果微型端口提供 NULL 指针,则例程将无限期等待,直到调度程序对象设置为信号状态。 有关详细信息,请参阅以下“备注”部分。

返回值

StorPortSetEvent 返回如下状态代码之一:

返回代码 描述
STOR_STATUS_INVALID_PARAMETER 一个或多个参数无效。
STOR_STATUS_SUCCESS 已成功记录 ETW 事件。
STOR_STATUS_UNSUCCESSFUL 作失败。

言论

有关详细信息,请参阅 KeWaitForSingleObject

StorportWaitForSingleObject 的调用方必须在 IRQL <= DISPATCH_LEVEL 上运行。 但是,如果 超时 = NULL 或 超时 != 0,则调用方必须在 IRQL <= APC_LEVEL 和非比特线程上下文中运行。 (如果 超时 != NULL 且 超时 = 0,则调用方必须在 IRQL <= DISPATCH_LEVEL 上运行。

要求

要求 价值
最低支持的客户端 Windows 10 版本 2004
标头 storport.h

另请参阅

KeWaitForSingleObject

StorportInitializeEvent

StorportSetEvent