estructura IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS (wdm.h)

La estructura de IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS contiene el contexto de conexión de una rutina de servicio de interrupción registrada (ISR) conectada a una interrupción o interrupciones por una llamada anterior a la rutina IoConnectInterruptEx .

Sintaxis

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;

Miembros

Version

Tipo de conexión de interrupción descrito por esta estructura. Este miembro debe coincidir con el tipo de conexión que obtuvo el autor de la llamada a IoConnectInterruptEx que conectó la interrupción. Los siguientes son valores válidos para este miembro:

  • CONNECT_FULLY_SPECIFIED
  • CONNECT_LINE_BASED
  • CONNECT_MESSAGE_BASED
  • CONNECT_FULLY_SPECIFIED_GROUP
Para obtener más información, vea la sección Comentarios.

ConnectionContext

Unión que contiene el contexto de conexión asociado a la interrupción. Cada miembro de unión es un puntero a un contexto de conexión de un tipo determinado. Si Version = CONNECT_MESSAGE_BASED, el miembro InterruptMessageTable de esta unión contiene un puntero a una estructura de IO_INTERRUPT_MESSAGE_INFO . Para todos los demás valores version , el miembro InterruptObject de esta unión contiene un puntero a una estructura KINTERRUPT . Use el miembro genérico de esta unión para tratar el puntero de contexto de conexión como un valor PVOID (y evitar la conversión).

Para obtener más información, vea la sección Comentarios.

ConnectionContext.Generic

Puntero PVOID a un contexto de conexión.

ConnectionContext.InterruptObject

Puntero a un contexto de conexión de tipo KINTERRUPT.

ConnectionContext.InterruptMessageTable

Puntero a un contexto de conexión de tipo IO_INTERRUPT_MESSAGE_INFO.

Comentarios

Esta estructura se proporciona como parámetro para las rutinas IoReportInterruptActive e IoReportInterruptInactive .

El miembro Version indica el tipo del contexto de conexión especificado en el miembro ConnectionContext . Establezca este miembro en el valor Parameters-Version> obtenido de la llamada IoConnectInterruptEx que conectó la interrupción.

Si el valor Parameters-Version> obtenido de IoConnectInterruptEx es CONNECT_FULLY_SPECIFIED o CONNECT_FULLY_SPECIFIED_GROUP, establezca el miembro ConnectionContext.InterruptObject de la estructura de IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS en el valor de puntero *(Parameters-FullySpecified.InterruptObject>) obtenido de IoConnectInterruptEx.

Si el valor Parameters-Version> obtenido de IoConnectInterruptEx es CONNECT_MESSAGE_BASED, establezca el miembro ConnectionContext.InterruptMessageTable de la estructura de IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS en el valor de puntero *(Parameters-MessageBased.ConnectionContext.InterruptMessageTable>) obtenido de IoConnectInterruptEx.

Si el valor Parameters-Version> obtenido de IoConnectInterruptEx es CONNECT_LINE_BASED, pero el autor de la llamada establece inicialmente Parameters-Version> en CONNECT_MESSAGE_BASED, establezca el miembro ConnectionContext.InterruptObject de la estructura IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS en el valor de puntero *(Parameters-MessageBased.ConnectionContext.InterruptObject>) obtenido deIoConnectInterruptEx.

Si el valor Parameters-Version> obtenido de IoConnectInterruptEx es CONNECT_LINE_BASED y el autor de la llamada establece inicialmente Parameters-Version> en CONNECT_LINE_BASED, establezca el miembro ConnectionContext.InterruptObject de la estructura IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS en el valor de puntero *(Parameters-LineBased.InterruptObject>) obtenido de IoConnectInterruptEx.

Requisitos

Requisito Valor
Header wdm.h (incluya Wdm.h)

Consulte también

IoConnectInterruptEx

IoReportInterruptActive

IoReportInterruptInactive