次の方法で共有


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

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

InterruptDpcHandler

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

DisableInterruptHandler

のエントリ ポイントミニポートDisableInterruptEx 関数を します。

EnableInterruptHandler

のエントリ ポイントミニポートEnableInterruptEx 関数を します。

MsiSupported

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

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

MsiSyncWithAllMessages

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

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

MessageInterruptHandler

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

MessageInterruptDpcHandler

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

DisableMessageInterruptHandler

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

EnableMessageInterruptHandler

のエントリ ポイントミニポートEnableMessageInterrupt 関数 (存在する場合) を します。 ドライバーがメッセージ通知割り込みをサポートしていない場合は、このメンバーを 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 以降でサポートされています。
ヘッダー ndis.h (Ndis.h を含む)

関連項目

IO_INTERRUPT_MESSAGE_INFO

ミニポートDisableInterruptEx

ミニポートDisableMessageInterrupt

ミニポートEnableInterruptEx

ミニポートEnableMessageInterrupt

ミニポートInterrupt

ミニポートInterruptDPC

ミニポート メッセージInterrupt

ミニポート メッセージInterruptDPC

NDIS_OBJECT_HEADER

NdisMRegisterInterruptEx