struttura IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS (wdm.h)
La struttura IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS contiene il contesto di connessione per una routine del servizio di interruzione registrata (ISR) connessa a un interrupt o interrupt da una chiamata precedente alla routine IoConnectInterruptEx .
Sintassi
typedef struct _IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS {
ULONG Version;
union {
PVOID Generic;
PKINTERRUPT InterruptObject;
PIO_INTERRUPT_MESSAGE_INFO InterruptMessageTable;
} ConnectionContext;
} IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS, *PIO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS;
Members
Version
Tipo di connessione interrupt descritto da questa struttura. Questo membro deve corrispondere al tipo di connessione ottenuto dal chiamante IoConnectInterruptEx che ha connesso l'interrupt. Di seguito sono riportati i valori validi per questo membro:
- CONNECT_FULLY_SPECIFIED
- CONNECT_LINE_BASED
- CONNECT_MESSAGE_BASED
- CONNECT_FULLY_SPECIFIED_GROUP
ConnectionContext
Unione che contiene il contesto di connessione associato all'interrupt. Ogni membro dell'unione è un puntatore a un contesto di connessione di un particolare tipo. Se Version = CONNECT_MESSAGE_BASED, il membro InterruptMessageTable di questa unione contiene un puntatore a una struttura IO_INTERRUPT_MESSAGE_INFO . Per tutti gli altri valori version , il membro InterruptObject di questa unione contiene un puntatore a una struttura KINTERRUPT . Usare il membro generico di questa unione per considerare il puntatore al contesto di connessione come valore PVOID (ed evitare il cast).
Per altre informazioni, vedere la sezione Osservazioni.
ConnectionContext.Generic
Puntatore PVOID a un contesto di connessione.
ConnectionContext.InterruptObject
Puntatore a un contesto di connessione di tipo KINTERRUPT.
ConnectionContext.InterruptMessageTable
Puntatore a un contesto di connessione di tipo IO_INTERRUPT_MESSAGE_INFO.
Commenti
Questa struttura viene fornita come parametro alle routine IoReportInterruptActive e IoReportInterruptInactive .
Il membro Version indica il tipo del contesto di connessione specificato nel membro ConnectionContext . Impostare questo membro sul valore Parameters-Version> ottenuto dalla chiamata IoConnectInterruptEx che ha connesso l'interrupt.
Se il valore Parameters-Version>ottenuto da IoConnectInterruptEx è CONNECT_FULLY_SPECIFIED o CONNECT_FULLY_SPECIFIED_GROUP, impostare il membro ConnectionContext.InterruptObject della struttura IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS sul valore del puntatore *(Parameters-FullySpecified.InterruptObject>) ottenuto da IoConnectInterruptEx.
Se il valore Parameters-Version>ottenuto da IoConnectInterruptEx è CONNECT_MESSAGE_BASED, impostare il membro ConnectionContext.InterruptMessageTable della struttura IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS sul valore del puntatore *(Parameters-MessageBased.ConnectionContext.InterruptMessageTable>) ottenuto da IoConnectInterruptEx.
Se il valore Parameters-Version>ottenuto da IoConnectInterruptEx è CONNECT_LINE_BASED, ma il chiamante inizialmente imposta Parameters-Version> su CONNECT_MESSAGE_BASED, impostare il membro ConnectionContext.InterruptObject della struttura IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS sul valore del puntatore *(Parameters-MessageBased.ConnectionContext.InterruptObject>) ottenuto daIoConnectInterruptEx.
Se il valore Parameters-Version>ottenuto da IoConnectInterruptEx è CONNECT_LINE_BASED e il chiamante imposta inizialmente Parameters-Version> su CONNECT_LINE_BASED, impostare il membro ConnectionContext.InterruptObject della struttura IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS sul valore del puntatore *(Parameters-LineBased.InterruptObject>) ottenuto da IoConnectInterruptEx.
Requisiti
Requisito | Valore |
---|---|
Intestazione | wdm.h (include Wdm.h) |