次の方法で共有


NdisMConfigMSIXTableEntry 関数 (ndis.h)

NdisMConfigMSIXTableEntry 関数は、デバイス割り当て MSI-X メッセージのテーブル エントリ MSI-X 構成操作を実行します。

構文

NDIS_STATUS NdisMConfigMSIXTableEntry(
  [in] NDIS_HANDLE                  NdisMiniportHandle,
  [in] PNDIS_MSIX_CONFIG_PARAMETERS MSIXConfigParameters
);

パラメーター

[in] NdisMiniportHandle

NDIS ミニポート アダプターは、NDIS に提供するハンドルミニポートInitializeEx 関数を します。

[in] MSIXConfigParameters

呼び出し元によって割り当てられたポインター NDIS_MSIX_CONFIG_PARAMETERS 要求された構成操作を定義し、その特定の操作に必要なパラメーターを指定する構造体です。

戻り値

NdisMConfigMSIXTableEntry は、基になる PCI バス ドライバーまたは次のいずれかの状態値から適切なエラー コードを返します。

リターン コード 形容
NDIS_STATUS_SUCCESS
MSI-X テーブル エントリが正常に再構成されました。
NDIS_STATUS_INVALID_PARAMETER
NdisMConfigMSIXTableEntry に 1 つ以上のメンバーが含まれているために失敗しました NDIS_MSIX_CONFIG_PARAMETERS 構造体が無効でした。

備考

ndisMConfigMSIXTableEntry 関数を呼び出 MSI-X サポートする NDIS ミニポート ドライバーをマスク、マスク解除、またはデバイス割り当て MSI-X メッセージに MSI-X テーブル エントリをマップします。 RSS をサポートするミニポート ドライバー NdisMConfigMSIXTableEntry を使用して、実行時に MSI-X テーブル エントリの CPU アフィニティを変更します。

NdisMConfigMSIXTableEntry は、 のラッパーです。クエリ GUID_MSIX_TABLE_CONFIG_INTERFACE します。 ミニポート ドライバーは、NDIS が ミニポートInitializeEx 関数を呼び出した後、およびドライバーが ミニポートHaltEx 関数から戻る前に、NdisMConfigMSIXTableEntry を呼び出すことができます。

ミニポート ドライバーは、デバイスが RSS プロセッサごとに少なくとも 1 つの MSI-X メッセージを持つように、MSI-X 割り込みリソースの CPU アフィニティを設定できます。 PCI バス ドライバーは、最初に n MSI-X テーブル エントリ (n は、NIC がバスに報告した MSI-X テーブル エントリの数) を、変更されたリソースの最初の n 個の MSI-X メッセージにマップします。 NDIS 呼び出し ミニポートInitializeEx、ミニポート ドライバーが特定の MSI-X テーブル エントリのターゲット プロセッサを変更すると、ドライバーは、既に目的のプロセッサに設定されている MSI-X メッセージにそのテーブル エントリをマップする NdisMConfigMSIXTableEntry を呼び 出します。

NdisMSIXTableConfigSetTableEntry 操作の場合、NdisMConfigMSIXTableEntry の呼び出し元は IRQL <= DISPATCH_LEVELで実行する必要があります。

NdisMSIXTableConfigMaskTableEntry または ndisMSIXTableConfigUnmaskTableEntry 操作の場合、NdisMConfigMSIXTableEntry の呼び出し元は任意の IRQL で実行できます。

必要条件

要件 価値
サポートされる最小クライアント NDIS 6.1 以降でサポートされています。
ターゲット プラットフォーム 万国
ヘッダー ndis.h (Ndis.h を含む)
ライブラリ Ndis.lib
IRQL 「解説」セクションを参照してください

関連項目

ミニポートHaltEx

ミニポートInitializeEx

NDIS_MSIX_CONFIG_PARAMETERS