Partager via


Fonction IoDisconnectInterrupt (wdm.h)

La routine IoDisconnectInterrupt libère l’ensemble d’objets d’interruption d’un pilote de périphérique lorsque l’appareil est suspendu ou supprimé, ou lorsque le pilote est déchargé.

Syntaxe

void IoDisconnectInterrupt(
  [in] PKINTERRUPT InterruptObject
);

Paramètres

[in] InterruptObject

Pointeur vers une structure KINTERRUPT. L’appelant a obtenu ce pointeur à partir de l’appel IoConnectInterrupt qui a précédemment connecté l’interruption ou les interruptions.

Valeur de retour

Aucun

Remarques

Le pilote doit configurer l’appareil pour émettre des interruptions uniquement lorsque ces interruptions sont connectées. L’échec d’empêcher un appareil d’émettre des interruptions lorsque les interruptions sont déconnectées peut entraîner une instabilité du système. Par exemple, si un appareil partage une ligne d’interruption déclenchée au niveau avec d’autres appareils et que l’appareil émet une demande d’interruption lorsque les interruptions de l’appareil sont déconnectées, les autres appareils sur la ligne ne reconnaissent pas l’interruption et l’interruption continue de se déclencher. Avant d’appeler IoDisconnectInterrupt, le pilote doit configurer l’appareil pour arrêter l’émission d’interruptions. Après avoir appelé ioConnectInterrupt, le pilote doit configurer l’appareil pour démarrer l’émission d’interruptions.

Si le pilote a stocké le pointeur vers ses objets d’interruption dans l’extension de périphérique de son objet d’appareil ou dans l’extension du contrôleur de son objet contrôleur, il doit appeler IoDisconnectInterrupt avant d’appeler IoDeleteDevice ou IoDeleteController.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 2000.
plateforme cible Universel
d’en-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
règles de conformité DDI HwStorPortProhibitedDDIs(storport), IrqlIoPassive4(wdm), PowerIrpDDis(wdm)

Voir aussi

IoConnectInterrupt

IoDeleteController

IoDeleteDevice

KINTERRUPT