Funzione NtPowerInformation (wdm.h)

Il NtPowerInformation set di routine o recupera informazioni sull'alimentazione del sistema.

Sintassi

C++
__kernel_entry NTSYSCALLAPI NTSTATUS NtPowerInformation(
  [in]            POWER_INFORMATION_LEVEL InformationLevel,
  [in, optional]  PVOID                   InputBuffer,
  [in]            ULONG                   InputBufferLength,
  [out, optional] PVOID                   OutputBuffer,
  [in]            ULONG                   OutputBufferLength
);

Parametri

[in] InformationLevel

Specifica il livello di informazioni richiesto, che indica le informazioni sull'alimentazione specifiche da impostare o recuperare. Attualmente, l'unico valore POWER_INFORMATION_LEVEL supportato è PlatformInformation.

Valore Descrizione
PlatformInformation Le informazioni rappresentano le funzionalità di alimentazione attualmente supportate del sistema. Le informazioni possono cambiare man mano che vengono installati i driver. Ad esempio, l'installazione di driver di dispositivo legacy che non supportano il risparmio energia potrebbe modificare le funzionalità del sistema.

[in, optional] InputBuffer

Puntatore a un buffer di input allocato dal chiamante. Questo parametro deve essere null, in caso contrario viene restituito ERROR_INVALID_PARAMETER.

[in] InputBufferLength

Dimensioni, in byte, del buffer in corrispondenza di InputBuffer. Il parametro deve essere impostato su zero.

[out, optional] OutputBuffer

Puntatore a un buffer di output. Il tipo di dati di questo buffer dipende dal livello di informazioni richiesto nel parametro InformationLevel. Per il livello di PlatformInformation, l'unico valore attualmente supportato, il parametro OutputBuffer è obbligatorio e deve essere del tipo POWER_PLATFORM_INFORMATION.

[in] OutputBufferLength

Dimensioni, in byte, del buffer di output. A seconda del livello di informazioni richiesto, il buffer può essere ridimensionato in modo variabile. PlatformInformation, l'unico valore attualmente supportato, richiede un buffer che corrisponde alle dimensioni di una struttura POWER_PLATFORM_INFORMATION.

Valore restituito

Restituisce STATUS_SUCCESS se la chiamata ha esito positivo. Se la chiamata non riesce, i codici di errore possibili includono quanto segue:

Codice restituito Descrizione
STATUS_BUFFER_TOO_SMALL Il buffer di output non è di dimensioni sufficienti per contenere i dati restituiti.
STATUS_INVALID_PARAMETER Il PlatformInformation livello di informazioni, che è l'unico valore attualmente supportato, non richiede alcun buffer di input e deve contenere un buffer di output. Il chiamante ha fornito un buffer di input o nessun buffer di output.
STATUS_ACCESS_DENIED Il chiamante aveva diritti di accesso insufficienti per eseguire l'azione richiesta.

Osservazioni

NtPowerInformation e ZwPowerInformation sono due versioni della stessa routine di Servizi di sistema nativi di Windows.

Per le chiamate da driver in modalità kernel, le NtXxx e ZwXxx versioni di una routine di Windows Native System Services possono comportarsi in modo diverso nel modo in cui gestiscono e interpretano i parametri di input. Per altre informazioni sulla relazione tra le versioni NtXxx e ZwXxx di una routine, vedere Using Nt and Zw Versions of the Native System Services Routines.

Esempi

In questo esempio viene illustrata una chiamata di funzione valida.

C++
POWER_PLATFORM_INFORMATION PlatformInfo = {0};
NTSTATUS Result = NtPowerInformation(PlatformInformation, NULL, 0, &PlatformInfo, sizeof(PlatformInfo));

Fabbisogno

Requisito Valore
client minimo supportato Windows 8
server minimo supportato Windows Server 2012
piattaforma di destinazione Universale
intestazione wdm.h (include Wdm.h, Ntddk.h, Ntpoapi.h)
libreria Ntoskrnl.lib
dll Ntoskrnl.lib
IRQL PASSIVE_LEVEL
regole di conformità DDI HwStorPortProhibitedDDIs, PowerIrpDDis

Vedere anche

POWER_PLATFORM_INFORMATION

uso di versioni Nt e Zw delle routine di Servizi di sistema nativi