Condividi tramite


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
Per altre informazioni, vedere la sezione Osservazioni.

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)

Vedi anche

IoConnectInterruptEx

IoReportInterruptActive

IoReportInterruptInactive