次の方法で共有


IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS構造体 (wdm.h)

IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS 構造体には、IoConnectInterruptEx ルーチンへの以前の呼び出しによって割り込みまたは割り込みに接続された登録済み割り込みサービス ルーチン (ISR) の接続コンテキストが含まれています。

構文

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 値として扱う (キャストを回避する) には、この共用体の Generic メンバーを使用します。

詳細については、「解説」を参照してください。

ConnectionContext.Generic

接続コンテキストへの PVOID ポインター。

ConnectionContext.InterruptObject

KINTERRUPT 型の接続コンテキストへのポインター。

ConnectionContext.InterruptMessageTable

IO_INTERRUPT_MESSAGE_INFO型の接続コンテキストへのポインター。

備考

この構造体は、IoReportInterruptActive および IoReportInterruptInactive ルーチン パラメーターとして提供されます。

バージョン メンバーは、ConnectionContext メンバーで指定された接続コンテキストの種類を示します。 このメンバーを、割り込みを接続した IoConnectInterruptEx 呼び出しから取得した Parameters->Version 値に設定します。

IoConnectInterruptEx から取得した Parameters->Version 値がCONNECT_FULLY_SPECIFIEDまたはCONNECT_FULLY_SPECIFIED_GROUP 場合、 IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS 構造体の ConnectionContext.InterruptObject メンバーを、IoConnectInterruptEx から取得した *(Parameters->FullySpecified.InterruptObject) ポインター値設定します。

IoConnectInterruptEx から取得した Parameters->Version 値がCONNECT_MESSAGE_BASEDされている場合は、次のIO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS 構造体の ConnectionContext.InterruptMessageTable メンバーを、IoConnectInterruptEx から取得した *(Parameters->MessageBased.ConnectionContext.InterruptMessageTable) ポインター値設定します。

IoConnectInterruptEx から取得した Parameters->Version 値がCONNECT_LINE_BASEDされている場合は、 ただし、呼び出し元は最初 Parameters->Version を CONNECT_MESSAGE_BASED に設定し、IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS 構造体の ConnectionContext.InterruptObject メンバーを、IoConnectInterruptEx から取得した *(Parameters->MessageBased.ConnectionContext.InterruptObject) ポインター値に設定.

IoConnectInterruptEx から取得した Parameters->Version CONNECT_LINE_BASED場合は、 呼び出し元は、最初に Parameters->Version を CONNECT_LINE_BASED に設定し、IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS 構造体の ConnectionContext.InterruptObject メンバーを、IoConnectInterruptExから取得した *(Parameters->LineBased.InterruptObject) ポインター値に設定します。

必要条件

要件 価値
ヘッダー wdm.h (Wdm.h を含む)

関連項目

IoConnectInterruptEx

IoReportInterruptActive

IoReportInterruptInactive