Condividi tramite


Macro PoSetDeviceBusy (wdm.h)

La macro PoSetDeviceBusyinforma che il dispositivo associato a IdlePointer è occupato.

Sintassi

void PoSetDeviceBusy(
  [in, out]  IdlePointer
);

Parametri

[in, out] IdlePointer

Specifica un puntatore inattivo non NULL restituito in precedenza da PoRegisterDeviceForIdleDetection. Si noti che PoRegisterDeviceForIdleDetection potrebbe restituire un puntatore NULL . Un chiamante di PoSetDeviceBusy deve verificare che il puntatore non sia NULL prima di passarlo a PoSetDeviceBusy.

Valore restituito

nessuno

Osservazioni

La routine PoSetDeviceBusyEx è 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 usa PoSetDeviceBusy insieme a PoRegisterDeviceForIdleDetection per abilitare il rilevamento inattiva del sistema per il dispositivo. Se un dispositivo registrato per il rilevamento inattivo diventa inattivo, power manager invia una richiesta di IRP_MN_SET_POWER per inserire il dispositivo in uno stato di sospensione richiesto.

PoSetDeviceBusy segnala che il dispositivo è occupato, in modo che il risparmio energia possa riavviare il conto inattiva. Se il dispositivo non è alimentato, PoSetDeviceBusy non modifica lo stato. Ciò significa che il sistema non invia una richiesta di alimentazione.

Un driver deve chiamare PoSetDeviceBusy in ogni richiesta di I/O.

Requisiti

Requisito Valore
Intestazione wdm.h (include Wdm.h)
IRQL Qualsiasi livello