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 en cours de déchargement.
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
None
Remarques
Le pilote doit configurer l’appareil pour émettre des interruptions uniquement lorsque ces interruptions sont connectées. Le fait 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 par un 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 de 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 d’émettre des interruptions. Après avoir appelé IoConnectInterrupt, le pilote doit configurer l’appareil pour commencer à émettre des interruptions.
Si le pilote a stocké le pointeur vers ses objets d’interruption dans l’extension d’appareil de son objet d’appareil ou dans l’extension de contrôleur de son objet contrôleur, il doit appeler IoDisconnectInterrupt avant d’appeler IoDeleteDevice ou IoDeleteController.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 2000. |
Plateforme cible | Universal |
En-tête | wdm.h (inclure 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) |