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 がに提供します。 MiniportInitializeEx 関数。
[in] MSIXConfigParameters
呼び出し元によって割り当てられたへのポインター NDIS_MSIX_CONFIG_PARAMETERS 要求された構成操作を定義し、その特定の操作に必要なパラメーターを指定する構造体です。
戻り値
NdisMConfigMSIXTableEntry は、基になる PCI バス ドライバーまたは次のいずれかの状態値から適切なエラー コードを返します。
リターン コード | 説明 |
---|---|
|
MSI-X テーブル エントリが正常に再構成されました。 |
|
内の 1 つ以上のメンバーが原因で NdisMConfigMSIXTableEntry が失敗しました NDIS_MSIX_CONFIG_PARAMETERS 構造体が無効でした。 |
注釈
MSI-X をサポートする NDIS ミニポート ドライバーは、デバイス割り当て MSI-X メッセージに MSI-X テーブル エントリをマスク、マスク解除、またはマップする NdisMConfigMSIXTableEntry 関数を呼び出します。 RSS をサポートするミニポート ドライバーは、実行時に MSI-X テーブル エントリの CPU アフィニティを変更するために NdisMConfigMSIXTableEntry を使用します。
NdisMConfigMSIXTableEntry は、 クエリGUID_MSIX_TABLE_CONFIG_INTERFACE 。 ミニポート ドライバーは、NDIS が MiniportInitializeEx 関数を呼び出した後、およびドライバーが MiniportHaltEx 関数から戻る前に、NdisMConfigMSIXTableEntry を呼び出すことができます。
ミニポート ドライバーは、MSI-X 割り込みリソースの CPU アフィニティを設定して、デバイスが RSS プロセッサごとに少なくとも 1 つの MSI-X メッセージを持つようにすることができます。 PCI バス ドライバーは、最初に n 個の MSI-X テーブル エントリ ( n は NIC がバスに報告した MSI-X テーブル エントリの数) を、変更されたリソースの最初の n 個の MSI-X メッセージにマップすることに注意してください。 NDIS が MiniportInitializeEx を呼び出した後、ミニポート ドライバーが特定の MSI-X テーブル エントリのターゲット プロセッサを変更すると、ドライバーは NdisMConfigMSIXTableEntry を呼び出して、そのテーブル エントリを目的のプロセッサに既に設定されている MSI-X メッセージにマップします。
NdisMSIXTableConfigSetTableEntry 操作の場合、NdisMConfigMSIXTableEntry の呼び出し元は IRQL <= DISPATCH_LEVELで実行する必要があります。
NdisMSIXTableConfigMaskTableEntry または NdisMSIXTableConfigUnmaskTableEntry 操作の場合、NdisMConfigMSIXTableEntry の呼び出し元は任意の IRQL で実行できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | NDIS 6.1 以降でサポートされています。 |
対象プラットフォーム | ユニバーサル |
Header | ndis.h (Ndis.h を含む) |
Library | Ndis.lib |
IRQL | 「解説」セクションを参照してください |