PoStartDeviceBusy 函式 (ntifs.h)

PoStartDeviceBusy 例程會標示裝置忙碌的一段時間開始。

語法

void PoStartDeviceBusy(
  [in, out] PULONG IdlePointer
);

參數

[in, out] IdlePointer

閑置計數器的指標。 這是先前由 PoRegisterDeviceForIdleDetection 例程傳回的指標值。 由於 PoRegisterDeviceForIdleDetection 可能會傳回 NULL 指標,因此呼叫者必須在呼叫 PoStartDeviceBusy 之前先確認指標為非 NULL。

傳回值

備註

PoStartDeviceBusyPoEndDeviceBusy 例程會標示裝置忙碌時間週期的開始和結束。 每個 PoStartDeviceBusy 呼叫都必須接在對 PoEndDeviceBusy 的對應呼叫後面。

針對每個裝置,電源管理員會維護尚未收到對應 PoEndDeviceBusy 呼叫的未處理 PoStartDeviceBusy 呼叫數目。 PoStartDeviceBusy 呼叫會將忙碌計數遞增一。 PoEndDeviceBusy 呼叫會將忙碌計數遞減一。 非零忙碌計數會停用裝置的閑置計數器。 忙碌計數達到零之後,電源管理員會將閑置計數器重設為逾時期間,並啟用計數器。

您可以使用 PoStartDeviceBusyPoEndDeviceBusy 例程來重設閒置計數器,您可以呼叫 PoSetDeviceBusyEx 例程 (或 PoSetDeviceBusy 宏) 。 若要在長時間忙碌期間停用閑置計數器,驅動程式可以呼叫 PoRegisterDeviceForIdleDetection 例程,以停用和啟用忙碌期間開始和結束的閑置通知。 不過, PoStartDeviceBusyPoEndDeviceBusy 通常比較方便用於此目的,而且您應該考慮在針對 Windows 7 和更新版本 Windows 撰寫的新程式碼中使用這些例程。

規格需求

需求
最低支援的用戶端 Windows 7。
目標平台 Universal
標頭 ntifs.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL 任何層級

另請參閱

PoEndDeviceBusy

PoRegisterDeviceForIdleDetection

PoSetDeviceBusy