Condividi tramite


Funzione IoDisconnectInterrupt (wdm.h)

Il IoDisconnectInterrupt routine rilascia il set di oggetti interrupt di un driver di dispositivo quando il dispositivo viene sospeso o rimosso o quando il driver viene scaricato.

Sintassi

void IoDisconnectInterrupt(
  [in] PKINTERRUPT InterruptObject
);

Parametri

[in] InterruptObject

Puntatore a una struttura di KINTERRUPT. Il chiamante ha ottenuto questo puntatore dal IoConnectInterrupt chiamata che in precedenza ha connesso l'interrupt o gli interrupt.

Valore restituito

Nessuno

Osservazioni

Il driver deve configurare il dispositivo per l'emissione di interrupt solo quando questi interrupt sono connessi. L'impossibilità di impedire a un dispositivo di emettere interrupt quando gli interrupt vengono disconnessi potrebbe causare instabilità del sistema. Ad esempio, se un dispositivo condivide una linea di interruzione attivata a livello con altri dispositivi e il dispositivo emette una richiesta di interruzione quando gli interrupt del dispositivo vengono disconnessi, gli altri dispositivi sulla riga non riconosceranno l'interrupt e l'interrupt continuerà a essere attivato. Prima di chiamare IoDisconnectInterrupt, il driver deve configurare il dispositivo per interrompere l'emissione di interrupt. Dopo aver chiamato IoConnectInterrupt, il driver deve configurare il dispositivo per avviare l'emissione di interrupt.

Se il driver ha archiviato il puntatore agli oggetti interrupt nell'estensione del dispositivo dell'oggetto dispositivo o nell'estensione controller del relativo oggetto controller, deve chiamare IoDisconnectInterrupt prima di chiamare IoDeleteDevice o IoDeleteController.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile a partire da Windows 2000.
piattaforma di destinazione Universale
intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
libreria NtosKrnl.lib
dll NtosKrnl.exe
IRQL PASSIVE_LEVEL
regole di conformità DDI HwStorPortProhibitedDDIs(storport), IrqlIoPassive4(wdm), PowerIrpDDis(wdm)

Vedere anche

IoConnectInterrupt

IoDeleteController

IoDeleteDevice

KINTERRUPT