Funzione PoSetDeviceBusyEx (ntifs.h)
La routine PoSetDeviceBusyExinforma che il dispositivo associato al contatore inattiva specificato è occupato.
Sintassi
void PoSetDeviceBusyEx(
[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 PoSetDeviceBusyEx.
Valore restituito
nessuno
Osservazioni
Questa routine è una sostituzione diretta della macro PoSetDeviceBusy . Se si scrive nuovo codice driver per Windows Vista con Service Pack 1 (SP1) e versioni successive di Windows, chiamare PoSetDeviceBusyEx anziché PoSetDeviceBusy.
Un driver chiama le routine PoSetDeviceBusyEx e PoRegisterDeviceForIdleDetection per abilitare il rilevamento inattiva del sistema per il dispositivo. Se un dispositivo registrato per il rilevamento inattivo rimane inattivo per il periodo di timeout specificato dal driver, power manager invia una richiesta di IRP_MN_SET_POWER per inserire il dispositivo in uno stato di sospensione richiesto.
PoSetDeviceBusyEx segnala che il dispositivo è occupato, in modo che il power manager possa riavviare il conto inattiva. Se il dispositivo si trova in uno stato di sospensione, PoSetDeviceBusyEx non modifica lo stato del dispositivo. Ciò significa che il sistema non invia una richiesta di IRP_MN_SET_POWER per svegliare il dispositivo.
PoSetDeviceBusyEx è progettato per l'uso con operazioni di I/O relativamente brevi rispetto al periodo di timeout del contatore inattivo. Per operazioni più lunghe che potrebbero superare questo periodo, usare invece le routine PoStartDeviceBusy e PoEndDeviceBusy .
Un driver che effettua più richieste per brevi operazioni di I/O deve chiamare PoSetDeviceBusyEx per ogni richiesta di I/O eseguita.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista con SP1 |
Piattaforma di destinazione | Universale |
Intestazione | ntifs.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Qualsiasi livello |