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を返す場合は、この値を確認する必要があります。 InterruptType が NDIS_CONNECT_LINE_BASEDに設定されている場合、NDIS は、ドライバーに行ベースの割り込みを許可します。これは、ドライバーがメッセージ通知割り込みをサポートしている場合でも発生する可能性があります。 InterruptType が NDIS_CONNECT_MESSAGE_BASEDに設定されている場合、NDIS はドライバーにメッセージ通知割り込みを許可します。 この場合、ドライバーは、MessageInfoTable にアクセスして割り込み情報を取得できます。
MessageInfoTable
NDIS が提供するポインター IO_INTERRUPT_MESSAGE_INFO 構造体。
- InterruptType が NDIS_CONNECT_MESSAGE_BASEDされている場合、NDIS は割り込みに関する情報を使用して IO_INTERRUPT_MESSAGE_INFO 構造体を初期化し、MessageInfoTable 構造体へのポインターを設定します。 ミニポート ドライバーは、構造体を変更できません。
- InterruptType が NDIS_CONNECT_LINE_BASEDされている場合、MessageInfoTable は NULL である必要があります。
備考
ミニポート ドライバーは、NdisMRegisterInterruptEx 関数を呼び出して割り込みを登録します。 ドライバーは、割り込み特性とハンドラーエントリ ポイントを指定する NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS 構造体を割り当て、初期化し、NdisMRegisterInterruptEx 構造体を渡します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | NDIS 6.0 以降でサポートされています。 |
ヘッダー | ndis.h (Ndis.h を含む) |
関連項目
ミニポートDisableMessageInterrupt ミニポートEnableMessageInterruptNdisMRegisterInterruptEx の