次の方法で共有


NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS構造体 (ndis.h)

NDIS ミニポート ドライバーは、NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS構造体でその割り込み特性を定義し、構造体を に渡します。 NdisMRegisterInterruptEx 関数。

構文

typedef struct _NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS {
  NDIS_OBJECT_HEADER                     Header;
  MINIPORT_ISR_HANDLER                   InterruptHandler;
  MINIPORT_INTERRUPT_DPC_HANDLER         InterruptDpcHandler;
  MINIPORT_DISABLE_INTERRUPT_HANDLER     DisableInterruptHandler;
  MINIPORT_ENABLE_INTERRUPT_HANDLER      EnableInterruptHandler;
  BOOLEAN                                MsiSupported;
  BOOLEAN                                MsiSyncWithAllMessages;
  MINIPORT_MSI_ISR_HANDLER               MessageInterruptHandler;
  MINIPORT_MSI_INTERRUPT_DPC_HANDLER     MessageInterruptDpcHandler;
  MINIPORT_DISABLE_MSI_INTERRUPT_HANDLER DisableMessageInterruptHandler;
  MINIPORT_ENABLE_MSI_INTERRUPT_HANDLER  EnableMessageInterruptHandler;
  NDIS_INTERRUPT_TYPE                    InterruptType;
  PIO_INTERRUPT_MESSAGE_INFO             MessageInfoTable;
} NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS, *PNDIS_MINIPORT_INTERRUPT_CHARACTERISTICS;

メンバー

Header

NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS構造体のNDIS_OBJECT_HEADER構造体。 Header が指定する構造体の Type メンバーを NDIS_OBJECT_TYPE_MINIPORT_INTERRUPT、Revision メンバーを NDIS_MINIPORT_INTERRUPT_REVISION_1、Size メンバーを NDIS_SIZEOF_MINIPORT_INTERRUPT_CHARACTERISTICS_REVISION_1 に設定します。

InterruptHandler

この割り込みに関連付けられている MiniportInterrupt 関数のエントリ ポイント。

InterruptDpcHandler

この割り込みに関連付けられている MiniportInterruptDPC 関数のエントリ ポイント。

DisableInterruptHandler

のエントリ ポイント MiniportDisableInterruptEx 関数。

EnableInterruptHandler

のエントリ ポイント MiniportEnableInterruptEx 関数。

MsiSupported

ミニポート ドライバーがメッセージシグナル割り込み (MSI) サービス関数をサポートしている場合は、このメンバーを TRUE に 設定します。 ミニポート ドライバーは、MSI サービス関数のエントリ ポイントを提供する必要があります。

この値を FALSE に設定すると、MSI がサポートされていないことが示されます。 MSI サービス関数のエントリ ポイントは NULL に設定する必要があります。

MsiSyncWithAllMessages

ミニポート ドライバーがすべての MSI サービス関数をシリアル化する必要がある場合は、このメンバーを TRUE に 設定します。

この値を TRUE に設定すると、割り込みのパフォーマンスが低下する可能性があります。 異なるメッセージを処理する複数の割り込みサービス関数を同時に実行する方が効率的です。

MessageInterruptHandler

のエントリ ポイント MiniportMessageInterrupt 関数が存在する場合は、この割り込みに関連付けられます。 ドライバーがメッセージ割り込みをサポートしていない場合は、このメンバーを NULL に設定 します

MessageInterruptDpcHandler

のエントリ ポイントこの割り込みに関連付けられている MiniportMessageInterruptDPC 関数 (存在する場合)。 ドライバーがメッセージシグナル割り込みをサポートしていない場合は、このメンバーを NULL に設定 します

DisableMessageInterruptHandler

のエントリ ポイント MiniportDisableMessageInterrupt 関数 (存在する場合)。 ドライバーがメッセージ通知割り込みをサポートしていない場合は、このメンバーを NULL に設定します。

EnableMessageInterruptHandler

のエントリ ポイント MiniportEnableMessageInterrupt 関数 (存在する場合)。 ドライバーがメッセージシグナル割り込みをサポートしていない場合は、このメンバーを NULL に設定 します

InterruptType

NDIS_INTERRUPT_TYPE型の変数。 NDIS は、ミニポート ドライバーに付与された割り込みの種類を示すこの変数を設定します。 ドライバーが MSI をサポートしている場合、NdisMRegisterInterruptEx がNDIS_STATUS_SUCCESSを返す場合は、この値をチェックする必要があります。 InterruptTypeNDIS_CONNECT_LINE_BASED に設定されている場合、NDIS はドライバーに行ベースの割り込みを許可します。これは、ドライバーがメッセージシグナル割り込みをサポートしている場合でも発生する可能性があります。 InterruptTypeNDIS_CONNECT_MESSAGE_BASED に設定されている場合、NDIS はドライバーにメッセージ通知割り込みを許可します。 この場合、ドライバーは MessageInfoTable にアクセスして割り込み情報を取得できます。

MessageInfoTable

NDIS によって提供される へのポインター。 IO_INTERRUPT_MESSAGE_INFO 構造体。

  • InterruptTypeNDIS_CONNECT_MESSAGE_BASEDの場合、NDIS は割り込みに関する情報を使用してIO_INTERRUPT_MESSAGE_INFO構造体を初期化し、MessageInfoTable を 構造体へのポインターに設定します。 ミニポート ドライバーは、構造体を変更することはできません。
  • InterruptTypeNDIS_CONNECT_LINE_BASED場合、MessageInfoTable は NULL である必要があります。

注釈

ミニポート ドライバーは、割り込みを登録する NdisMRegisterInterruptEx 関数を呼び出します。 ドライバーは、割り込み特性とハンドラー エントリ ポイントを指定する NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS 構造体を割り当てて初期化し、 NdisMRegisterInterruptEx に構造体を渡します。

要件

要件
サポートされている最小のクライアント NDIS 6.0 以降でサポートされています。
Header ndis.h (Ndis.h を含む)

こちらもご覧ください

IO_INTERRUPT_MESSAGE_INFO

MiniportDisableInterruptEx

MiniportDisableMessageInterrupt

MiniportEnableInterruptEx

MiniportEnableMessageInterrupt

MiniportInterrupt

MiniportInterruptDPC

MiniportMessageInterrupt

MiniportMessageInterruptDPC

NDIS_OBJECT_HEADER

NdisMRegisterInterruptEx