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 |