Share via


Funzione PoStartDeviceBusy (ntifs.h)

La routine PoStartDeviceBusy contrassegna l'inizio di un periodo di tempo in cui il dispositivo è occupato.

Sintassi

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

Parametri

[in, out] IdlePointer

Puntatore a un contatore inattiva. Si tratta di un valore puntatore restituito in precedenza dalla routine PoRegisterDeviceForIdleDetection . Poiché PoRegisterDeviceForIdleDetection potrebbe restituire un puntatore NULL, il chiamante deve verificare che il puntatore non sia NULL prima di chiamare PoStartDeviceBusy.

Valore restituito

nessuno

Osservazioni

Le routine PoStartDeviceBusy e PoEndDeviceBusy contrassegnano l'inizio e la fine di un periodo di tempo in cui un dispositivo è occupato. Ogni chiamata a PoStartDeviceBusy deve essere seguita da una chiamata corrispondente a PoEndDeviceBusy.

Per ogni dispositivo, power manager gestisce un conteggio del numero di chiamate PoStartDeviceBusy in sospeso per cui non ha ancora ricevuto una chiamata PoEndDeviceBusy corrispondente. Una chiamata PoStartDeviceBusy incrementa il conteggio occupato per uno. Una chiamata PoEndDeviceBusy decrementa il conteggio occupato per uno. Un conteggio delle attività non zero disabilita il contatore inattiva per il dispositivo. Dopo che il conteggio occupato raggiunge zero, il risparmio energia reimposta il contatore inattiva al periodo di timeout e abilita il contatore.

Anziché usare le routine PoStartDeviceBusy e PoEndDeviceBusy per reimpostare il contatore inattivo, è possibile chiamare la routine PoSetDeviceBusyEx (o la macro PoSetDeviceBusy ). Per disabilitare il contatore inattivo durante un periodo occupato esteso, un driver può chiamare la routine PoRegisterDeviceForIdleDetection per disabilitare e abilitare le notifiche inattive all'inizio e alla fine del periodo occupato. Tuttavia, PoStartDeviceBusy e PoEndDeviceBusy sono in genere più utili da usare per questo scopo e è consigliabile usare queste routine nel nuovo codice scritto per Windows 7 e versioni successive di Windows.

Requisiti

Requisito Valore
Client minimo supportato Windows 7.
Piattaforma di destinazione Universale
Intestazione ntifs.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Qualsiasi livello

Vedi anche

PoEndDeviceBusy

PoRegisterDeviceForIdleDetection

PoSetDeviceBusy