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 à 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.) |