NDIS_RSS_SET_INDIRECTION_ENTRY構造体 (ntddndis.h)
警告
このトピックの一部の情報は、リリース前の製品に関連しており、商用リリース前に大幅に変更される可能性があります。 Microsoft は、ここで提供される情報に関して明示的または黙示的な保証を行いません。
RSSv2 は、Windows 10 バージョン 1803 でのみプレビューです。
NDIS_RSS_SET_INDIRECTION_ENTRY 構造体は、1 つの間接テーブル エントリを設定するコマンドを表します。 これは、OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES OID で使用される NDIS_RSS_SET_INDIRECTION_ENTRIES 構造体に含まれています。 OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIESは、RSS バージョン 2 (RSSv2)用の 同期 OID です。
構文
typedef struct _NDIS_RSS_SET_INDIRECTION_ENTRY {
NDIS_NIC_SWITCH_ID SwitchId;
NDIS_NIC_SWITCH_VPORT_ID VPortId;
ULONG Flags;
USHORT IndirectionTableIndex;
PROCESSOR_NUMBER TargetProcessorNumber;
NDIS_STATUS EntryStatus;
} NDIS_RSS_SET_INDIRECTION_ENTRY, *PNDIS_RSS_SET_INDIRECTION_ENTRY;
メンバーズ
SwitchId
VPort が存在する NIC スイッチを表すNDIS_NIC_SWITCH_ID値。
スイッチ識別子は、0 からネットワーク アダプターがサポートするスイッチの数の整数です。 NDIS_DEFAULT_SWITCH_ID値は、既定のネットワーク アダプター スイッチを示します。
ネイティブ RSS の場合、このフィールドは 0 に設定する必要があります。
VPortId
VPort 識別子を表すNDIS_NIC_SWITCH_VPORT_ID値。
ネイティブ RSS の場合、このフィールドは 0 に設定する必要があります。
Flags
フラグのビットごとの OR を含む ULONG 値。 このメンバーは、この構造体の情報を修飾します。
使用可能なフラグは次のとおりです。
IndirectionTableIndex
現在の CPU を指しており、別のプロセッサを指すよう変更されている ITE のハッシュ インデックス。 間接テーブルが非アクティブな (RSS が無効) 場合、ミニポート ドライバーは、RSS が有効になっているときに正しい間接参照テーブルを持つ間接テーブルエントリの更新を追跡する必要があります。
TargetProcessorNumber
ITE が完了時に指すターゲット プロセッサ番号。 ミニポート ドライバーは、ITE が現在のプロセッサから現在のプロセッサに移動に成功する必要があります。
EntryStatus
このエントリの移動操作の状態を示すNDIS_STATUS コード。 NDIS_RSS_SET_INDIRECTION_ENTRY は同期 OID 呼び出しのコンテキストで使用されるため、ミニポート ドライバーはこのメンバーの NDIS_STATUS_PENDING を返すことができません。
ミニポート ドライバーの実装を簡略化するために、上位層プロトコルは、このフィールドをNDIS_STATUS_PENDINGに初期化します。 ミニポート ドライバーは、成功または失敗のいずれかの NDIS 状態コードでNDIS_STATUS_PENDINGを上書きする必要があります。 上層は、OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES OID の完了時にこのフィールドがまだNDIS_STATUS_PENDINGされていることを検出した場合、システム バグ チェックが発生し、ミニポート ドライバーに障害があることを示します。
大事な
NDIS_RSS_SET_INDIRECTION_ENTRIES 構造体に含まれるグループ内のすべての NDIS_RSS_SET_INDIRECTION_ENTRY 構造体は、同じ EntryStatusでマークする必要があります。
この移動コマンドでエラーが発生した場合は、EntryStatus を、そのエラー状態の次のいずれかの状態コードに設定します。
状態コード | エラー条件 |
---|---|
NDIS_STATUS_INVALID_PARAMETER |
|
NDIS_STATUS_INVALID_PORT_STATE | VPort がアクティブ化されていないか、RSSv2 OID を受け入れられない他の状態です。 |
NDIS_STATUS_NOT_ACCEPTED | アクターの CPU が無効でした。 |
NDIS_STATUS_INVALID_DATA | アクティブな ステアリング パラメーター の場合、新しいプロセッサはアダプターの RSS プロセッサ セットの一部ではありません。 非アクティブな パラメーター 追跡する必要があるだけであることに注意してください。 後で RSS 状態遷移中に検証されます (で するか、オフに)。 |
NDIS_STATUS_NO_QUEUES | コマンド エントリのグループは、そのグループで指定された VPort の "キューの数" チェックに失敗します。 |
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | NDIS 6.80 以降でサポートされています。 |
ヘッダー | ntddndis.h (Ndis.h を含む) |
関連項目
NDIS_RSS_SET_INDIRECTION_ENTRIES
OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES
Receive Side Scaling Version 2 (RSSv2)
NDIS 6.80 での同期 OID 要求インターフェイスの