Funzione PoSetPowerState (wdm.h)
La routine PoSetPowerState notifica al sistema una modifica dello stato di alimentazione del dispositivo per un dispositivo.
Sintassi
POWER_STATE PoSetPowerState(
[in] PDEVICE_OBJECT DeviceObject,
[in] POWER_STATE_TYPE Type,
[in] POWER_STATE State
);
Parametri
[in] DeviceObject
Puntatore alla DEVICE_OBJECT di destinazione.
[in] Type
Indica un valore POWER_STATE_TYPE . I driver devono specificare DevicePowerState.
[in] State
Specifica lo stato di alimentazione da impostare. I driver devono specificare un valore DEVICE_POWER_STATE .
Valore restituito
In Windows 2000 e versioni successive del sistema operativo, PoSetPowerState restituisce lo stato di alimentazione precedente. In Windows 98/ Me PoSetPowerState restituisce lo stato passato in Stato.
Commenti
PoSetPowerStatenotifica al gestore energia del nuovo stato di alimentazione per un dispositivo. Ogni driver in uno stack di dispositivi (filtro, funzione e driver del bus) deve chiamare PoSetPowerState per informare il power manager di una modifica dello stato di alimentazione del relativo oggetto dispositivo corrispondente. Ad esempio:
- Un driver chiama questa routine dopo aver ricevuto una richiesta di alimentazione del set di dispositivi e prima di chiamare PoStartNextPowerIrp. Quando si gestisce una richiesta di IRP_MN_START_DEVICE PnP, il driver deve chiamare PoSetPowerState per notificare al gestore energia che il dispositivo si trova nello stato D0.
- Se il dispositivo è inattivo, il driver deve chiamare PoSetPowerState prima di lasciare lo stato D0. Inoltre, il driver deve essere in grado di elaborare le richieste client prima che PoSetPowerState restituisca.
- Se il dispositivo è in alimentazione, il driver deve chiamare PoSetPowerState dopo che il dispositivo viene inserito correttamente nello stato D0.
I chiamanti di PoSetPowerState devono essere in esecuzione in IRQL <= APC_LEVEL tranne quando si imposta lo stato su D0. Quando si imposta lo stato su D0, i chiamanti possono essere in esecuzione in IRQL <= DISPATCH_LEVEL.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows 2000. |
Piattaforma di destinazione | Universale |
Intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Vedere La sezione Osservazioni. |