Fonction PoCreatePowerRequest (wdm.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 COUNTED_REASON_CONTEXT qui décrit la raison pour laquelle l’appelant crée l’objet de demande d’alimentation. 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 sont les suivants :

Code de retour Description
STATUS_INVALID_PARAMETER
Le paramètre DeviceObject est NULL.
STATUS_INSUFFICIENT_RESOURCES
La mémoire disponible est insuffisante pour créer un objet de demande d’alimentation.

Remarques

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

Un pilote peut utiliser des demandes d’alimentation pour remplacer certains aspects du comportement d’alimentation par défaut de l’ordinateur. Par exemple, un pilote pour un périphérique 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 utilisateur ne se produit.

Lorsque l’objet de demande d’alimentation n’est plus nécessaire, l’appelant doit supprimer l’objet en appelant la routine PoDeletePowerRequest . Le pilote doit supprimer l’objet de demande d’alimentation avant de supprimer l’objet de périphérique utilisé pour créer l’objet de demande d’alimentation.

Configuration requise

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

Voir aussi

PoClearPowerRequest

PoDeletePowerRequest

PoSetPowerRequest