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 del puntatore restituito in precedenza dalla routine poRegisterDeviceForIdleDetection precedentemente restituita dalla routine poRegisterDeviceForIdleDetection. Poiché PoRegisterDeviceForIdleDetection potrebbe restituire un puntatore NULL, il chiamante deve verificare che il puntatore sia diverso da 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, l'risparmio energia gestisce un conteggio del numero di chiamate PoStartDeviceBusy per le quali non ha ancora ricevuto una chiamata PoEndDeviceBusy corrispondente. Un PoStartDeviceBusy chiamata incrementa il numero occupato di uno. Un PoEndDeviceBusy chiamata decrementa il numero occupato di uno. Un conteggio di attività diverso da zero disabilita il contatore di inattività per il dispositivo. Dopo che il conteggio occupato raggiunge lo zero, il risparmio energia reimposta il contatore inattiva nel periodo di timeout e abilita il contatore.
Invece di 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 di attività prolungato, un driver può chiamare il PoRegisterDeviceForIdleDetection routine per disabilitare e abilitare le notifiche inattive all'inizio e alla fine del periodo occupato. Tuttavia, PoStartDeviceBusy e PoEndDeviceBusy sono in genere più comodi da usare per questo scopo, ed è consigliabile prendere in considerazione l'uso di queste routine nel nuovo codice scritto per Windows 7 e versioni successive di Windows.
Fabbisogno
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 |