Partager via


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 dans l’objet power request nouvellement créé. Si l’appel échoue, la routine écrit NULL à cet emplacement.

[in] DeviceObject

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

[in] Context

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

Valeur de retour

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

Retourner le code Description
STATUS_INVALID_PARAMETER Le paramètre DeviceObject a la valeur NULL.
STATUS_INSUFFICIENT_RESOURCES Il n’y a pas suffisamment 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 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 de vider automatiquement l’affichage pendant les 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 d’appareil utilisé pour créer l’objet de demande d’alimentation.

Exigences

Exigence Valeur
client minimum pris en charge Windows 7
plateforme cible Universel
d’en-tête ntifs.h (include Wdm.h, Ntddk.h, Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Voir aussi

poClearPowerRequest

PoDeletePowerRequest

poSetPowerRequest