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
AdministratorPowerPolicy
9
Questo livello di informazioni non è supportato.
LastSleepTime
15
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.

LastWakeTime
14
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.

ProcessorInformation
11
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.

ProcessorPowerPolicyAc
18
Questo livello di informazioni non è supportato.
ProcessorPowerPolicyCurrent
22
Questo livello di informazioni non è supportato.
ProcessorPowerPolicyDc
19
Questo livello di informazioni non è supportato.
SystemBatteryState
5
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.

SystemExecutionState
16
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 .

SystemPowerCapabilities
4
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.

SystemPowerInformation
12
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.

SystemPowerPolicyAc
0
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à).

SystemPowerPolicyCurrent
8
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à).

SystemPowerPolicyDc
1
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.

SystemReserveHiberFile
10
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.

VerifyProcessorPowerPolicyAc
20
Questo livello di informazioni non è supportato.
VerifyProcessorPowerPolicyDc
21
Questo livello di informazioni non è supportato.
VerifySystemPolicyAc
2
Questo livello di informazioni non è supportato.
VerifySystemPolicyDc
3
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
STATUS_BUFFER_TOO_SMALL
Il buffer di output è di dimensioni insufficienti per contenere i dati da restituire.
STATUS_ACCESS_DENIED
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

Vedi anche

ADMINISTRATOR_POWER_POLICY

PROCESSOR_POWER_INFORMATION

PROCESSOR_POWER_POLICY

Funzioni di risparmio energia

SYSTEM_BATTERY_STATE struttura

SYSTEM_POWER_CAPABILITIES

SYSTEM_POWER_INFORMATION

SYSTEM_POWER_POLICY