estrutura IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS (wdm.h)

A estrutura IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS contém o contexto de conexão de uma ISR (rotina de serviço de interrupção) registrada que foi conectada a uma interrupção ou interrupções por uma chamada anterior à rotina IoConnectInterruptEx .

Sintaxe

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;

Membros

Version

O tipo de conexão de interrupção descrito por essa estrutura. Esse membro deve corresponder ao tipo de conexão que o chamador obteve da chamada IoConnectInterruptEx que conectou a interrupção. Estes são valores válidos para este membro:

  • CONNECT_FULLY_SPECIFIED
  • CONNECT_LINE_BASED
  • CONNECT_MESSAGE_BASED
  • CONNECT_FULLY_SPECIFIED_GROUP
Para obter mais informações, consulte Comentários.

ConnectionContext

Uma união que contém o contexto de conexão associado à interrupção. Cada membro da união é um ponteiro para um contexto de conexão de um tipo específico. Se Version = CONNECT_MESSAGE_BASED, o membro InterruptMessageTable dessa união conterá um ponteiro para uma estrutura IO_INTERRUPT_MESSAGE_INFO . Para todos os outros valores version , o membro InterruptObject dessa união contém um ponteiro para uma estrutura KINTERRUPT . Use o membro genérico dessa união para tratar o ponteiro de contexto de conexão como um valor PVOID (e evitar a conversão).

Para obter mais informações, consulte Comentários.

ConnectionContext.Generic

Um ponteiro PVOID para um contexto de conexão.

ConnectionContext.InterruptObject

Um ponteiro para um contexto de conexão do tipo KINTERRUPT.

ConnectionContext.InterruptMessageTable

Um ponteiro para um contexto de conexão do tipo IO_INTERRUPT_MESSAGE_INFO.

Comentários

Essa estrutura é fornecida como um parâmetro para as rotinas IoReportInterruptActive e IoReportInterruptInactive .

O membro Version indica o tipo do contexto de conexão especificado no membro ConnectionContext . Defina esse membro como o valor Parameters-Version> obtido da chamada IoConnectInterruptEx que conectou a interrupção.

Se o valor Parameters-Version> obtido de IoConnectInterruptEx for CONNECT_FULLY_SPECIFIED ou CONNECT_FULLY_SPECIFIED_GROUP, defina o membro ConnectionContext.InterruptObject da estrutura IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS como o valor do ponteiro *(Parameters-FullySpecified.InterruptObject>) obtido de IoConnectInterruptEx.

Se o valor Parameters-Version> obtido de IoConnectInterruptEx for CONNECT_MESSAGE_BASED, defina o membro connectionContext.InterruptMessageTable da estrutura IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS como o valor do ponteiro *(Parameters-MessageBased.ConnectionContext.InterruptMessageTable>) obtido de IoConnectInterruptEx.

Se o valor Parameters-Version> obtido de IoConnectInterruptEx for CONNECT_LINE_BASED, mas o chamador inicialmente definir Parameters-Version> como CONNECT_MESSAGE_BASED, defina o membro ConnectionContext.InterruptObject da estrutura IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS como o valor do ponteiro *(Parameters-MessageBased.ConnectionContext.InterruptObject>) obtido deIoConnectInterruptEx.

Se o valor Parameters-Version> obtido de IoConnectInterruptEx for CONNECT_LINE_BASED e o chamador definir inicialmente Parameters-Version> como CONNECT_LINE_BASED, defina o membro ConnectionContext.InterruptObject da estrutura IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS como o valor do ponteiro *(Parameters-LineBased.InterruptObject>) obtido deIoConnectInterruptEx.

Requisitos

Requisito Valor
Cabeçalho wdm.h (include Wdm.h)

Confira também

IoConnectInterruptEx

IoReportInterruptActive

IoReportInterruptInactive