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

驱动程序结合使用 PoSetDeviceBusyPoRegisterDeviceForIdleDetection 为其设备启用系统空闲检测。 如果注册了空闲检测的设备处于空闲状态,电源管理器将发送 IRP_MN_SET_POWER 请求,使设备进入请求的睡眠状态。

PoSetDeviceBusy 报告设备处于繁忙状态,使电源管理器能够重启其空闲倒计时。 如果设备未开机,PoSetDeviceBusy 不会更改其状态。 也就是说,它不会导致系统发送开机请求。

驱动程序应该对每个 I/O 请求调用 PoSetDeviceBusy

要求

要求
Header wdm.h (包括 Wdm.h)
IRQL 任何级别