Funzione CallNtPowerInformation (powerbase.h)
Imposta o recupera informazioni sull'alimentazione.
Sintassi
NTSTATUS CallNtPowerInformation(
[in] POWER_INFORMATION_LEVEL InformationLevel,
[in] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[out] PVOID OutputBuffer,
[in] ULONG OutputBufferLength
);
Parametri
[in] InformationLevel
Livello di informazioni richiesto. Questo valore indica le informazioni specifiche sull'alimentazione da impostare o recuperare. Questo parametro deve essere uno dei valori di tipo di enumerazione seguenti POWER_INFORMATION_LEVEL .
Valore | Significato |
---|---|
|
Questo livello di informazioni non è supportato. |
|
Il parametro lpInBuffer deve essere NULL; in caso contrario, la funzione restituisce ERROR_INVALID_PARAMETER.
Il buffer lpOutputBuffer riceve un ULONGLONG che specifica il conteggio del tempo di interruzione, in 100-nanosecondi, all'ultima ora di sospensione del sistema. |
|
Il parametro lpInBuffer deve essere NULL; in caso contrario, la funzione restituisce ERROR_INVALID_PARAMETER.
Il buffer lpOutputBuffer riceve un ULONGLONG che specifica il conteggio dei tempi di interruzione, in 100-nanosecondi, all'ultima ora di riattivazione del sistema. |
|
Il parametro lpInBuffer deve essere NULL; in caso contrario, la funzione restituisce ERROR_INVALID_PARAMETER.
Il buffer lpOutputBuffer riceve una struttura PROCESSOR_POWER_INFORMATION per ogni processore installato nel sistema. Usare la funzione GetSystemInfo per recuperare il numero di processori. |
|
Questo livello di informazioni non è supportato. |
|
Questo livello di informazioni non è supportato. |
|
Questo livello di informazioni non è supportato. |
|
Il parametro lpInBuffer deve essere NULL; in caso contrario, la funzione restituisce ERROR_INVALID_PARAMETER.
Il buffer lpOutputBuffer riceve una struttura SYSTEM_BATTERY_STATE contenente informazioni sulla batteria di sistema corrente. |
|
Il parametro lpInBuffer deve essere NULL; in caso contrario, la funzione restituisce ERROR_INVALID_PARAMETER.
Il buffer lpOutputBuffer riceve un valore ULONG contenente il buffer dello stato di esecuzione del sistema. Questo valore può contenere qualsiasi combinazione dei valori seguenti: ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED o ES_USER_PRESENT. Per altre informazioni, vedere la funzione SetThreadExecutionState . |
|
Il parametro lpInBuffer deve essere NULL, in caso contrario, la funzione restituisce ERROR_INVALID_PARAMETER.
Il buffer lpOutputBuffer riceve una struttura SYSTEM_POWER_CAPABILITIES contenente le funzionalità di alimentazione del sistema corrente. Queste informazioni rappresentano le funzionalità di alimentazione attualmente supportate. Può cambiare quando i driver vengono installati nel sistema. Ad esempio, l'installazione di driver di dispositivo legacy che non supportano la gestione energia disabilita tutti gli stati di sospensione del sistema. |
|
Il parametro lpInBuffer deve essere NULL; in caso contrario, la funzione restituisce ERROR_INVALID_PARAMETER.
Il buffer lpOutputBuffer riceve una struttura SYSTEM_POWER_INFORMATION . Le applicazioni possono usare questo livello per recuperare informazioni sull'inattività del sistema. |
|
Se lpInBuffer non è NULL, la funzione applica i valori di SYSTEM_POWER_POLICY passati in lpInBuffer ai criteri di alimentazione di sistema correnti usati mentre il sistema è in esecuzione in alimentazione ac (utilità).
Il buffer lpOutputBuffer riceve una struttura SYSTEM_POWER_POLICY contenente i criteri di alimentazione del sistema correnti usati mentre il sistema è in esecuzione in alimentazione ac (utilità). |
|
Il parametro lpInBuffer deve essere NULL; in caso contrario, la funzione restituisce ERROR_INVALID_PARAMETER.
Il buffer lpOutputBuffer riceve una struttura SYSTEM_POWER_POLICY contenente i criteri di alimentazione del sistema correnti usati mentre il sistema è in esecuzione in alimentazione ac (utilità). |
|
Se lpInBuffer non è NULL, la funzione applica i valori di SYSTEM_POWER_POLICY passati in lpInBuffer ai criteri di alimentazione di sistema correnti usati mentre il sistema è in esecuzione sulla batteria.
Il buffer lpOutputBuffer riceve una struttura SYSTEM_POWER_POLICY contenente i criteri di alimentazione del sistema corrente usati mentre il sistema è in esecuzione sulla batteria. |
|
Se lpInBuffer non è NULL e l'utente corrente dispone di privilegi sufficienti, la funzione esegue il commit o decommette l'archiviazione necessaria per contenere l'immagine di ibernazione nel volume di avvio.
Il parametro lpInBuffer deve puntare a un valore BOOLEAN che indica la richiesta desiderata. Se il valore è TRUE, il file di ibernazione è riservato; se il valore è FALSE, il file di ibernazione viene rimosso. |
|
Questo livello di informazioni non è supportato. |
|
Questo livello di informazioni non è supportato. |
|
Questo livello di informazioni non è supportato. |
|
Questo livello di informazioni non è supportato. |
[in] InputBuffer
Puntatore a un buffer di input facoltativo. Il tipo di dati di questo buffer dipende dal livello di informazioni richiesto nel parametro InformationLevel .
[in] InputBufferLength
Dimensioni del buffer di input, in byte.
[out] OutputBuffer
Puntatore a un buffer di output facoltativo. Il tipo di dati di questo buffer dipende dal livello di informazioni richiesto nel parametro InformationLevel . Se il buffer è troppo piccolo per contenere le informazioni, la funzione restituisce STATUS_BUFFER_TOO_SMALL.
[in] OutputBufferLength
Dimensioni in byte del buffer di output. A seconda del livello di informazioni richiesto, questo può essere un buffer di dimensioni variabile.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è STATUS_SUCCESS.
Se la funzione ha esito negativo, il valore restituito può essere uno dei codici di stato seguenti.
Stato | Significato |
---|---|
|
Il buffer di output è di dimensioni insufficienti per contenere i dati da restituire. |
|
Il chiamante aveva diritti di accesso insufficienti per eseguire l'azione richiesta. |
Commenti
Le modifiche apportate ai criteri di alimentazione del sistema corrente con CallNtPowerInformation sono immediate, ma non sono persistenti; ovvero, le modifiche non vengono archiviate come parte di uno schema di alimentazione. Le modifiche apportate ai criteri di alimentazione di sistema apportate con CallNtPowerInformation possono essere sovrascritte dalle modifiche apportate a uno schema di criteri apportato dall'utente nel programma del pannello di controllo Opzioni di alimentazione o da chiamate successive a WritePwrScheme, SetActivePwrScheme o altre funzioni di risparmio energia.
Per altre informazioni sull'uso di PowrProf.h, vedere Schemi di alimentazione.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | powerbase.h |
Libreria | PowrProf.lib |
DLL | PowrProf.dll |