PoStartDeviceBusy 函式 (ntifs.h)
PoStartDeviceBusy 例程會標示裝置忙碌的一段時間開始。
語法
void PoStartDeviceBusy(
[in, out] PULONG IdlePointer
);
參數
[in, out] IdlePointer
閑置計數器的指標。 這是先前由 PoRegisterDeviceForIdleDetection 例程傳回的指標值。 由於 PoRegisterDeviceForIdleDetection 可能會傳回 NULL 指標,因此呼叫者必須在呼叫 PoStartDeviceBusy 之前先確認指標為非 NULL。
傳回值
無
備註
PoStartDeviceBusy 和 PoEndDeviceBusy 例程會標示裝置忙碌時間週期的開始和結束。 每個 PoStartDeviceBusy 呼叫都必須接在對 PoEndDeviceBusy 的對應呼叫後面。
針對每個裝置,電源管理員會維護尚未收到對應 PoEndDeviceBusy 呼叫的未處理 PoStartDeviceBusy 呼叫數目。 PoStartDeviceBusy 呼叫會將忙碌計數遞增一。 PoEndDeviceBusy 呼叫會將忙碌計數遞減一。 非零忙碌計數會停用裝置的閑置計數器。 忙碌計數達到零之後,電源管理員會將閑置計數器重設為逾時期間,並啟用計數器。
您可以使用 PoStartDeviceBusy 和 PoEndDeviceBusy 例程來重設閒置計數器,您可以呼叫 PoSetDeviceBusyEx 例程 (或 PoSetDeviceBusy 宏) 。 若要在長時間忙碌期間停用閑置計數器,驅動程式可以呼叫 PoRegisterDeviceForIdleDetection 例程,以停用和啟用忙碌期間開始和結束的閑置通知。 不過, PoStartDeviceBusy 和 PoEndDeviceBusy 通常比較方便用於此目的,而且您應該考慮在針對 Windows 7 和更新版本 Windows 撰寫的新程式碼中使用這些例程。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7。 |
目標平台 | Universal |
標頭 | ntifs.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | 任何層級 |