Partager via


Fonction NtPowerInformation (wdm.h)

Le NtPowerInformation ensembles de routines ou récupère les informations d’alimentation 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 de puissance 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érique 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 à 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 requis et doit être du type POWER_PLATFORM_INFORMATION.

[in] OutputBufferLength

Taille, en octets, de la mémoire tampon de sortie. Selon le niveau d’information 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 qui est la taille d’une structure POWER_PLATFORM_INFORMATION.

Valeur de retour

Retourne STATUS_SUCCESS si l’appel réussit. Si l’appel échoue, les codes d’erreur possibles sont les suivants :

Retourner le code 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 La PlatformInformation niveau d’informations, 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 avait des droits d’accès insuffisants 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 à partir de pilotes en mode noyau, les versions NtXxx et ZwXxx d’une routine Windows Native System Services peuvent se comporter différemment de 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));

Exigences

Exigence Valeur
client minimum pris en charge Windows 8
serveur minimum pris en charge Windows Server 2012
plateforme cible Universel
d’en-tête wdm.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

POWER_PLATFORM_INFORMATION

à l’aide de versions Nt et Zw des routines natives des services système