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 を、そのエラー条件の次のいずれかの状態コードに設定します。
status code | エラー状態 |
---|---|
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 以降でサポートされています。 |
Header | ntddndis.h (Ndis.h を含む) |
こちらもご覧ください
NDIS_RSS_SET_INDIRECTION_ENTRIES
OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES