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 |