Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[S’applique uniquement à KMDF]
Note
Cette méthode est destinée uniquement à l’utilisation interne de Microsoft.
La méthode WdfDeviceInitRegisterPowerStateChangeCallback inscrit une fonction de rappel d’événement fournie par le pilote que l’infrastructure appelle lorsque la machine d’état d’alimentation d’un appareil change d’état.
Syntaxe
NTSTATUS WdfDeviceInitRegisterPowerStateChangeCallback(
[in] PWDFDEVICE_INIT DeviceInit,
[in] WDF_DEVICE_POWER_STATE PowerState,
[in] PFN_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION EvtDevicePowerStateChange,
[in] ULONG CallbackTypes
);
Paramètres
[in] DeviceInit
Pointeur fourni par l’appelant vers une structure WDFDEVICE_INIT.
[in] PowerState
Énumérateur WDF_DEVICE_POWER_STATE qui identifie l’état de l’ordinateur d’alimentation pour lequel le pilote demande une notification.
[in] EvtDevicePowerStateChange
Pointeur fourni par l’appelant vers la fonction de rappel d’événement evtDevicePowerStateChange du pilote.
[in] CallbackTypes
Combinaison ORed d’énumérateurs WDF_STATE_NOTIFICATION_TYPE-typés.
Valeur de retour
Si l’opération réussit, WdfDeviceInitRegisterPowerStateChangeCallback retourne STATUS_SUCCESS. Les valeurs de retour supplémentaires sont les suivantes :
| Retourner le code | Description |
|---|---|
|
Un paramètre non valide a été détecté. |
|
La mémoire est insuffisante pour terminer l’opération. |
Remarques
Si votre pilote appelle WdfDeviceInitRegisterPowerStateChangeCallback, il doit le faire avant d’appeler WdfDeviceCreate.
Pour plus d’informations sur l’appel WdfDeviceCreate, consultez Machines d’état dans le framework.
Exemples
L’exemple de code suivant enregistre une fonction de rappel d’événement que l’infrastructure appelle lorsque la machine d’état d’alimentation de l’appareil change d’état.
status = WdfDeviceInitRegisterPowerStateChangeCallback(
DeviceInit,
WdfDevStatePowerD0StartingConnectInterrupt,
PciDrvPowerStateChangeCallback,
StateNotificationAllStates
);
Exigences
| Exigence | Valeur |
|---|---|
| plateforme cible | Universel |
| version minimale de KMDF | 1.0 |
| d’en-tête | wdfdevice.h (include Wdf.h) |
| bibliothèque | Wdf01000.sys (voir Versioning de la bibliothèque Framework.) |
| IRQL | PASSIVE_LEVEL |
| règles de conformité DDI | childDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf) |