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之連接內容的指標。

備註

這個結構是以參數的形式提供給 IoReportInterruptActiveIoReportInterruptInactive 例程。

Version 成員表示 ConnectionContext 成員中指定的連接內容類型。 將此成員設定為從連接中斷之 IoConnectInterruptEx 呼叫取得的參數->版本值。

如果從 IoConnectInterruptEx 取得的參數版本>值CONNECT_FULLY_SPECIFIED或CONNECT_FULLY_SPECIFIED_GROUP,請將 IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS 結構的 ConnectionContext.InterruptObject 成員設定為 * (Parameters-FullySpecified.InterruptObject >) 從 IoConnectInterruptEx 取得的指針值。

如果從 IoConnectInterruptEx 取得的參數版本>值CONNECT_MESSAGE_BASED,請將 IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS 結構的 ConnectionContext.InterruptMessageTable 成員設定為 * (Parameters-MessageBased.ConnectionContext.InterruptMessageTable>) 從 IoConnectInterruptEx 取得的指標值。

如果從 IoConnectInterruptEx 取得的 Parameters-Version> 值CONNECT_LINE_BASED,但呼叫端一開始將 Parameters-Version> 設定為 CONNECT_MESSAGE_BASED,請將 IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS 結構的 ConnectionContext.InterruptObject 成員設定為從取得的 * ( Parameters-MessageBased.ConnectionContext.InterruptObject >) 指標值IoConnectInterruptEx

如果從 IoConnectInterruptEx 取得的參數版本>值CONNECT_LINE_BASED,而呼叫端一開始將 Parameters-Version> 設定為 CONNECT_LINE_BASED,請將 IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS 結構的 ConnectionContext.InterruptObject 成員設定為 * (Parameters-LineBased.InterruptObject >) 從 IoConnectInterruptEx 取得的指標值。

規格需求

需求
標頭 wdm.h (包含 Wdm.h)

另請參閱

IoConnectInterruptEx

IoReportInterruptActive

IoReportInterruptInactive