Partager via


EVT_WDF_INTERRUPT_DISABLE fonction de rappel (wdfinterrupt.h)

[S’applique à KMDF et UMDF]

La fonction de rappel d’événement EvtInterruptDisable d’un pilote désactive une interruption matérielle spécifiée.

Syntaxe

EVT_WDF_INTERRUPT_DISABLE EvtWdfInterruptDisable;

NTSTATUS EvtWdfInterruptDisable(
  [in] WDFINTERRUPT Interrupt,
  [in] WDFDEVICE AssociatedDevice
)
{...}

Paramètres

[in] Interrupt

Handle vers un objet d’interruption de framework.

[in] AssociatedDevice

Handle de l’objet de périphérique framework que le pilote a passé à WdfInterruptCreate.

Valeur de retour

La fonction de rappel evtInterruptDisable doit retourner STATUS_SUCCESS ou une autre valeur d’état pour laquelle NT_SUCCESS(status) est égal à TRUE si la fonction ne rencontre aucune erreur. Dans le cas contraire, cette fonction doit retourner une valeur d’état pour laquelle NT_SUCCESS(status) est égal à FALSE.

Remarques

Pour inscrire une fonction de rappel EvtInterruptDisable, votre pilote doit placer l’adresse de la fonction de rappel dans une structure WDF_INTERRUPT_CONFIG avant d’appeler WdfInterruptCreate.

L’infrastructure appelle la fonction de rappel EvtInterruptDisable du pilote chaque fois que l’appareil quitte son état de fonctionnement (D0). En outre, un pilote peut entraîner l’appel de la fonction de rappel EvtInterruptDisable en appelant WdfInterruptDisable. Notez que la plupart des pilotes basés sur le framework ne doivent pas appeler WdfInterruptDisable, car l’infrastructure appelle le EvtInterruptDisable fonction de rappel chaque fois que l’appareil quitte son état de travail (D0).

Avant d’appeler la fonction de rappel EvtInterruptDisable, l’infrastructure déclenche le runtime d’intégration du processeur sur le DIRQL de l’appareil et acquiert le verrou de rotation spécifié dans la structure WDF_INTERRUPT_CONFIG de l’objet d’interruption.

À compter de la version 1.11 de KMDF, votre pilote peut fournir gestion des interruptions au niveau passif. Si le pilote a demandé la gestion des interruptions au niveau passif, avant d’appeler la fonction EvtInterruptDisable à IRQL = PASSIVE_LEVEL, l’infrastructure acquiert le verrou d’interruption de niveau passif que le pilote a configuré dans la structure WDF_INTERRUPT_CONFIG de l’objet d’interruption.

Avant d’appeler la fonction de rappel EvtInterruptDisable, l’infrastructure appelle la fonction de rappel EvtDeviceD0ExitPreInterruptsDisabled du pilote à IRQL = PASSIVE_LEVEL.

Pour plus d’informations sur la gestion des interruptions dans les pilotes basés sur l’infrastructure, consultez Gestion des interruptions matérielles.

Spécifications

Besoin Valeur
plateforme cible Universel
version minimale de KMDF 1.0
version minimale de UMDF 2.0
En-tête wdfinterrupt.h (include Wdf.h)
IRQL (Voir la section Remarques.)

Voir aussi

EvtDeviceD0ExitPreInterruptsDisabled

EvtInterruptEnable

WDF_INTERRUPT_CONFIG

WdfInterruptCreate

WdfInterruptDisable