Partager via


EVT_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED fonction de rappel (wdfdevice.h)

[S’applique à KMDF et UMDF]

La fonction de rappel d’événement EvtDeviceD0ExitPreInterruptsDisabled d’un pilote effectue des opérations spécifiques à l’appareil qui sont requises avant que le pilote ne désactive les interruptions matérielles de l’appareil.

Syntaxe

EVT_WDF_DEVICE_D0_EXIT_PRE_INTERRUPTS_DISABLED EvtWdfDeviceD0ExitPreInterruptsDisabled;

NTSTATUS EvtWdfDeviceD0ExitPreInterruptsDisabled(
  [in] WDFDEVICE Device,
  [in] WDF_POWER_DEVICE_STATE TargetState
)
{...}

Paramètres

[in] Device

Handle d’un objet d’appareil framework.

[in] TargetState

Énumérateur WDF_POWER_DEVICE_STATE qui identifie l’état d’alimentation de l’appareil que l’appareil est sur le point d’entrer.

Valeur retournée

Si la fonction de rappel EvtDeviceD0ExitPreInterruptsDisabled ne rencontre aucune erreur, elle doit retourner STATUS_SUCCESS ou une autre valeur status pour laquelle NT_SUCCESS(status) est égal à TRUE. Sinon, il doit retourner une valeur status pour laquelle NT_SUCCESS(status) est false.

Pour plus d’informations sur les valeurs de retour de cette fonction de rappel, consultez Signalement des échecs d’appareil.

Remarques

Pour inscrire une fonction de rappel EvtDeviceD0ExitPreInterruptsDisabled , un pilote doit appeler WdfDeviceInitSetPnpPowerEventCallbacks.

La fonction de rappel EvtDeviceD0ExitPreInterruptsDisabled est appelée à l’adresse IRQL = PASSIVE_LEVEL, avant que l’infrastructure n’appelle la fonction de rappel EvtInterruptDisable du pilote. Un pilote peut fournir cette fonction s’il doit effectuer des opérations spécifiques à l’appareil avant de désactiver une interruption, si ces opérations ne doivent pas être effectuées à IRQL = DIRQL dans la fonction de rappel EvtInterruptDisable .

Pour plus d’informations sur le moment où l’infrastructure appelle cette fonction de rappel, consultez Scénarios pnP et de gestion de l’alimentation.

Pour plus d’informations sur la gestion des interruptions, consultez Gestion des interruptions matérielles.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdfdevice.h (include Wdf.h)
IRQL PASSIVE_LEVEL (voir la section Remarques)

Voir aussi

EvtDeviceD0EntryPostInterruptsEnabled