Fonction NtPowerInformation (ntpoapi.h)
La routine ZwPowerInformation définit ou récupère les informations d’alimentation du système.
Syntaxe
__kernel_entry NTSYSCALLAPI NTSTATUS NtPowerInformation(
[in] POWER_INFORMATION_LEVEL InformationLevel,
[in, optional] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[out, optional] PVOID OutputBuffer,
[in] ULONG OutputBufferLength
);
Paramètres
[in] InformationLevel
Spécifie le niveau d’informations demandé, qui indique les informations d’alimentation spécifiques à définir ou à récupérer. Actuellement, la seule valeur POWER_INFORMATION_LEVEL prise en charge est PlatformInformation.
[in, optional] InputBuffer
Pointeur vers une mémoire tampon d’entrée allouée par l’appelant. Ce paramètre doit être NULL, sinon ERROR_INVALID_PARAMETER est retourné.
[in] InputBufferLength
Taille, en octets, de la mémoire tampon sur InputBuffer. Le paramètre doit être défini sur zéro.
[out, optional] OutputBuffer
Pointeur vers une mémoire tampon de sortie. Le type de données de cette mémoire tampon dépend du niveau d’informations demandé dans le paramètre InformationLevel . Pour le niveau PlatformInformation , la seule valeur actuellement prise en charge, le paramètre OutputBuffer est obligatoire et doit être du type POWER_PLATFORM_INFORMATION .
[in] OutputBufferLength
Taille, en octets, de la mémoire tampon de sortie. Selon le niveau d’informations demandé, la mémoire tampon peut être dimensionnée de manière variable. PlatformInformation, la seule valeur actuellement prise en charge, nécessite une mémoire tampon de la taille d’une structure POWER_PLATFORM_INFORMATION .
Valeur retournée
Retourne STATUS_SUCCESS si l’appel réussit. Si l’appel échoue, les codes d’erreur possibles sont les suivants :
Code de retour | Description |
---|---|
|
La mémoire tampon de sortie est de taille insuffisante pour contenir les données retournées. |
|
Le niveau d’informations PlatformInformation , qui est la seule valeur actuellement prise en charge, ne nécessite aucune mémoire tampon d’entrée et doit contenir une mémoire tampon de sortie. L’appelant a fourni une mémoire tampon d’entrée ou aucune mémoire tampon de sortie. |
|
L’appelant n’avait pas les droits d’accès nécessaires pour effectuer l’action demandée. |
Remarques
NtPowerInformation et ZwPowerInformation sont deux versions de la même routine Windows Native System Services.
Pour les appels provenant de pilotes en mode noyau, les versions NtXxx et ZwXxx d’une routine Windows Native System Services peuvent se comporter différemment dans la façon dont elles gèrent et interprètent les paramètres d’entrée. Pour plus d’informations sur la relation entre les versions NtXxx et ZwXxx d’une routine, consultez Using Nt and Zw Versions of the Native System Services Routines.
Exemples
Cet exemple illustre un appel de fonction valide.
POWER_PLATFORM_INFORMATION PlatformInfo = {0};
NTSTATUS Result = NtPowerInformation(PlatformInformation, NULL, 0, &PlatformInfo, sizeof(PlatformInfo));
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 |
Serveur minimal pris en charge | Windows Server 2012 |
Plateforme cible | Universal |
En-tête | ntpoapi.h (include Wdm.h, Ntddk.h, Ntpoapi.h) |
Bibliothèque | Ntoskrnl.lib |
DLL | Ntoskrnl.lib |
IRQL | PASSIVE_LEVEL |
Règles de conformité DDI | HwStorPortProhibitedDDIs, PowerIrpDDis |
Voir aussi
Utilisation des versions Nt et Zw des routines des services système natifs