Funzione NtPowerInformation (ntpoapi.h)
Il ZwPowerInformation set di routine o recupera informazioni sull'alimentazione del sistema.
Sintassi
__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.
[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 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 |
---|---|
|
Il buffer di output non è di dimensioni sufficienti per contenere i dati restituiti. |
|
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. |
|
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.
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 | ntpoapi.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
uso di versioni Nt e Zw delle routine di Servizi di sistema nativi