Funzione NtPowerInformation (wdm.h)
La routine NtPowerInformation imposta o recupera le 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 di 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 quando vengono installati i driver. Ad esempio, l'installazione dei driver di dispositivo legacy che non supportano la gestione 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 ERROR_INVALID_PARAMETER viene restituito.
[in] InputBufferLength
Dimensioni, in byte, del buffer in 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 di 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 ha esito negativo, i codici di errore possibili includono quanto segue:
Codice restituito | Descrizione |
---|---|
STATUS_BUFFER_TOO_SMALL | Il buffer di output è di dimensioni insufficienti per contenere i dati restituiti. |
STATUS_INVALID_PARAMETER | Il livello di informazioni PlatformInformation , 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. |
Commenti
NtPowerInformation e ZwPowerInformation sono due versioni della stessa routine di Windows Native System Services.
Per le chiamate dai driver in modalità kernel, le versioni NtXxx e ZwXxx 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 Uso di nt e zw versioni delle routine di Servizi di sistema nativo.
Esempio
In questo esempio viene illustrata una chiamata di funzione valida.
POWER_PLATFORM_INFORMATION PlatformInfo = {0};
NTSTATUS Result = NtPowerInformation(PlatformInformation, NULL, 0, &PlatformInfo, sizeof(PlatformInfo));
Requisiti
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 |
Vedi anche
Uso di nt e zw versioni delle routine di Servizi di sistema nativo