Funzione GetDevicePowerState (winbase.h)
Recupera lo stato di alimentazione corrente del dispositivo specificato. Questa funzione non può essere usata per eseguire query sullo stato di alimentazione di un dispositivo di visualizzazione.
Sintassi
BOOL GetDevicePowerState(
[in] HANDLE hDevice,
[out] BOOL *pfOn
);
Parametri
[in] hDevice
Handle per un oggetto nel dispositivo, ad esempio un file o un socket, o un handle per il dispositivo stesso.
[out] pfOn
Puntatore alla variabile che riceve lo stato di alimentazione. Questo valore è TRUE se il dispositivo è nello stato di lavoro. In caso contrario, è FALSE.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero.
Commenti
Un'applicazione può usare GetDevicePowerState per determinare se un dispositivo si trova nello stato di lavoro o in uno stato a basso consumo. Se il dispositivo è in stato a basso consumo, l'accesso al dispositivo può causare la coda o l'esito negativo di eventuali richieste di I/O oppure eseguire la transizione del dispositivo allo stato di lavoro. Il comportamento esatto dipende dall'implementazione del dispositivo.
Per garantire la massima durata della batteria in un computer portatile, usare GetDevicePowerState per ridurre il consumo di energia. Ad esempio, se un disco è attualmente spento, l'accesso al disco causerà l'attivazione, con conseguente aumento del consumo di energia e riduzione della durata della batteria.
Le applicazioni devono rinviare o limitare l'accesso ai dispositivi laddove possibile, mentre il sistema è in esecuzione sull'alimentazione a batteria. Per determinare se il sistema è in esecuzione sull'alimentazione a batteria e la durata rimanente della batteria, usare la funzione GetSystemPowerStatus .
Requisiti
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winbase.h (include Windows.h) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |