PoSetDeviceBusy 宏 (wdm.h)
PoSetDeviceBusy 宏向电源管理器告知与 IdlePointer 关联的设备繁忙。
语法
void PoSetDeviceBusy(
[in, out] IdlePointer
);
参数
[in, out] IdlePointer
指定 PoRegisterDeviceForIdleDetection 先前返回的非 NULL 空闲指针。 请注意,PoRegisterDeviceForIdleDetection 可能返回 NULL 指针。 PoSetDeviceBusy 的调用方必须在将指针传递给 PoSetDeviceBusy 之前验证该指针是否非 NULL。
返回值
无
备注
PoSetDeviceBusyEx 例程是 PoSetDeviceBusy 宏的直接替代项。 如果你正在为 Windows Vista Service Pack 1 (SP1) 和更高版本的 Windows 编写新驱动程序代码,请调用 PoSetDeviceBusyEx,而不要调用 PoSetDeviceBusy。
驱动程序结合使用 PoSetDeviceBusy 和 PoRegisterDeviceForIdleDetection 为其设备启用系统空闲检测。 如果注册了空闲检测的设备处于空闲状态,电源管理器将发送 IRP_MN_SET_POWER 请求,使设备进入请求的睡眠状态。
PoSetDeviceBusy 报告设备处于繁忙状态,使电源管理器能够重启其空闲倒计时。 如果设备未开机,PoSetDeviceBusy 不会更改其状态。 也就是说,它不会导致系统发送开机请求。
驱动程序应该对每个 I/O 请求调用 PoSetDeviceBusy。
要求
要求 | 值 |
---|---|
Header | wdm.h (包括 Wdm.h) |
IRQL | 任何级别 |