Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
I driver usano la routine IoConnectInterruptEx per registrare un ISR (Interrupt Service Routine) per un interrupt. IoConnectInterruptEx fa parte di Windows Vista e dei sistemi operativi successivi. IoConnectInterruptEx accetta un singolo parametro Parameters , ovvero un puntatore a una struttura IO_CONNECT_INTERRUPT_PARAMETERS . Per Windows Server 2003, Windows XP e Windows 2000, i driver possono usare la libreria Iointex.lib inclusa in Windows Driver Kit (WDK).
In Windows Vista e versioni successive IoConnectInterruptEx offre diversi metodi per la registrazione di un ISR. Il valore specificato per Parameters-Version> determina il metodo , come indicato di seguito:
Usare CONNECT_LINE_BASED per registrare una routine InterruptService per tutti gli interrupt basati su riga di un dispositivo. I dispositivi hanno in genere al massimo un interrupt basato su riga. Il sistema rileva automaticamente tutti gli interrupt basati su riga assegnati al dispositivo. Per altre informazioni, vedere Uso della versione CONNECT_LINE_BASED di IoConnectInterruptEx.
Usare CONNECT_MESSAGE_BASED per registrare una routine InterruptMessageService per tutti gli interrupt segnati da messaggio di un dispositivo. È anche possibile specificare una routine di fallback InterruptService; se il dispositivo ha solo interruzioni basate su linea, IoConnectInterruptEx registra invece la routine InterruptService. Il sistema rileva automaticamente eventuali interruzioni segnalate dal messaggio assegnate al dispositivo. Per altre informazioni, vedere Uso della versione CONNECT_MESSAGE_BASED di IoConnectInterruptEx.
Usare CONNECT_FULLY_SPECIFIED per registrare separatamente una routine InterruptService per ogni interrupt. È possibile utilizzare questa opzione per specificare una routine InterruptService per un interrupt basato su riga o un interrupt segnalato da un messaggio, ma è necessario specificare manualmente l'interrupt usando le informazioni passate dal gestore PnP. Per altre informazioni, vedere Uso della versione CONNECT_FULLY_SPECIFIED di IoConnectInterruptEx.
Nei sistemi operativi precedenti a Windows Vista è possibile usare solo CONNECT_FULLY_SPECIFIED. Se si specifica CONNECT_LINE_BASED o CONNECT_MESSAGE_BASED, IoConnectInterruptEx restituisce un errore. È possibile utilizzare questo comportamento per determinare se è in esecuzione in Windows Vista o in un sistema precedente. Per altre informazioni, vedere Uso di IoConnectInterruptEx prima di Windows Vista.