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 |
---|---|
|
Le paramètre DeviceObject est NULL. |
|
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 |