Partager via


WdfDeviceInitRegisterPowerStateChangeCallback, fonction (wdfdevice.h)

[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
STATUS_INVALID_PARAMETER
Un paramètre non valide a été détecté.
STATUS_INSUFFICIENT_RESOURCES
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)