структура IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS (wdm.h)

Структура IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS содержит контекст подключения для зарегистрированной процедуры службы прерываний (ISR), которая была подключена к прерыванию или прерываниям предыдущего вызова процедуры IoConnectInterruptEx .

Синтаксис

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;

Члены

Version

Тип соединения прерывания, описанный в этой структуре. Этот член должен соответствовать типу подключения, полученному вызывающей стороны из вызова IoConnectInterruptEx , который подключил прерывание. Ниже приведены допустимые значения для этого элемента:

  • CONNECT_FULLY_SPECIFIED
  • CONNECT_LINE_BASED
  • CONNECT_MESSAGE_BASED
  • CONNECT_FULLY_SPECIFIED_GROUP
Дополнительные сведения см. в подразделе "Примечания".

ConnectionContext

Объединение, содержащее контекст соединения, связанный с прерыванием. Каждый член объединения является указателем на контекст соединения определенного типа. Если Version = CONNECT_MESSAGE_BASED, член InterruptMessageTable этого объединения содержит указатель на структуру IO_INTERRUPT_MESSAGE_INFO . Для всех остальных значений Version член InterruptObject этого объединения содержит указатель на структуру KINTERRUPT . Используйте универсальный член этого объединения, чтобы рассматривать указатель контекста подключения как значение PVOID (и избегать приведения).

Дополнительные сведения см. в подразделе "Примечания".

ConnectionContext.Generic

Указатель PVOID на контекст подключения.

ConnectionContext.InterruptObject

Указатель на контекст подключения типа KINTERRUPT.

ConnectionContext.InterruptMessageTable

Указатель на контекст подключения типа IO_INTERRUPT_MESSAGE_INFO.

Комментарии

Эта структура предоставляется в качестве параметра для подпрограмм IoReportInterruptActive и IoReportInterruptInactive .

Элемент Version указывает тип контекста подключения, указанного в элементе ConnectionContext . Присвойте этому члену значение Parameters-Version>, полученное из вызова IoConnectInterruptEx, который подключил прерывание.

Если значение Parameters-Version>, полученное из IoConnectInterruptEx, равно CONNECT_FULLY_SPECIFIED или CONNECT_FULLY_SPECIFIED_GROUP, задайте для элемента ConnectionContext.InterruptObject структуры IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS значение указателя *(Parameters-FullSpecified.InterruptObject>), полученное из IoConnectInterruptEx.

Если значение Parameters-Version,> полученное из IoConnectInterruptEx, CONNECT_MESSAGE_BASED, задайте для элемента ConnectionContext.InterruptMessageTable структуры IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS значение *(Parameters-MessageBased.ConnectionContext.InterruptMessageTable>), полученное из IoConnectInterruptEx.

Если значение Parameters-Version>, полученное из IoConnectInterruptEx, CONNECT_LINE_BASED, но вызывающий объект изначально установил для Parameters-Version> значение CONNECT_MESSAGE_BASED, задайте для элемента ConnectionContext.InterruptObject структуры IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS значение *(Parameters-MessageBased.ConnectionContext.InterruptObject>), полученное изIoConnectInterruptEx.

Если значение Parameters-Version>, полученное из IoConnectInterruptEx, CONNECT_LINE_BASED, а вызывающий объект изначально задал Parameters-Version> значение CONNECT_LINE_BASED, задайте для элемента ConnectionContext.InterruptObject структуры IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS значение указателя *(Parameters-LineBased.InterruptObject>), полученное из IoConnectInterruptEx.

Требования

Требование Значение
Заголовок wdm.h (включая Wdm.h)

См. также раздел

IoConnectInterruptEx

IoReportInterruptActive

IoReportInterruptInactive