Fonction PoCreatePowerRequest (ntifs.h)

La routine PoCreatePowerRequest crée un objet power request.

Syntaxe

NTSTATUS PoCreatePowerRequest(
  [out] PVOID                   *PowerRequest,
  [in]  PDEVICE_OBJECT          DeviceObject,
  [in]  PCOUNTED_REASON_CONTEXT Context
);

Paramètres

[out] PowerRequest

Pointeur vers un emplacement dans lequel la routine écrit un pointeur vers l’objet Power Request nouvellement créé. Si l’appel échoue, la routine écrit NULL à cet emplacement.

[in] DeviceObject

Pointeur vers l’objet d’appareil de l’appelant (structure DEVICE_OBJECT ).

[in] Context

Pointeur vers une structure de COUNTED_REASON_CONTEXT qui décrit la raison pour laquelle l’appelant crée l’objet power request. Ce paramètre est facultatif et peut être défini sur NULL.

Valeur retournée

PoCreatePowerRequest retourne STATUS_SUCCESS si l’appel réussit. Si l’appel échoue, les codes de retour d’erreur possibles incluent les éléments suivants :

Code de retour Description
STATUS_INVALID_PARAMETER Le paramètre DeviceObject a la valeur NULL.
STATUS_INSUFFICIENT_RESOURCES Il n’y a pas assez de mémoire disponible pour créer un objet Power Request.

Remarques

Cette routine crée un objet power request. Pour activer les demandes d’alimentation, l’appelant doit créer un objet power request et utiliser cet objet pour tous les appels aux routines PoSetPowerRequest et PoClearPowerRequest .

Un pilote peut utiliser les demandes d’alimentation pour remplacer certains aspects du comportement d’alimentation par défaut de l’ordinateur. Par exemple, un pilote pour un récepteur TV peut utiliser des demandes d’alimentation pour empêcher le gestionnaire d’alimentation de vider automatiquement l’affichage pendant des périodes prolongées pendant lesquelles aucune interaction de l’utilisateur ne se produit.

Lorsque l’objet power request n’est plus nécessaire, l’appelant doit supprimer l’objet en appelant la routine PoDeletePowerRequest . Le pilote doit supprimer l’objet power request avant de supprimer l’objet d’appareil utilisé pour créer l’objet power request.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7
Plateforme cible Universal
En-tête ntifs.h (inclure Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Voir aussi

PoClearPowerRequest

PoDeletePowerRequest

PoSetPowerRequest