Partager via


Fonction NtPowerInformation (wdm.h)

La routine NtPowerInformation 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.

Valeur Description
PlatformInformation Les informations représentent les fonctionnalités d’alimentation actuellement prises en charge du système. Les informations peuvent changer à mesure que les pilotes sont installés. Par exemple, l’installation de pilotes de périphériques hérités qui ne prennent pas en charge la gestion de l’alimentation peut modifier les fonctionnalités du système.

[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
STATUS_BUFFER_TOO_SMALL La mémoire tampon de sortie est de taille insuffisante pour contenir les données retournées.
STATUS_INVALID_PARAMETER 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.
STATUS_ACCESS_DENIED 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 wdm.h (inclure 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

POWER_PLATFORM_INFORMATION

Utilisation des versions Nt et Zw des routines des services système natifs