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 |