структура 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) |