NDIS_RSS_SET_INDIRECTION_ENTRY 結構 (ntddndis.h)
警告
本主題中的某些資訊與發行前產品有關,在正式發行前可能會大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
RSSv2 僅在 Windows 10 1803 版中是預覽版。
NDIS_RSS_SET_INDIRECTION_ENTRY 結構代表設定單一間接數據表專案的命令。 它包含在 NDIS_RSS_SET_INDIRECTION_ENTRIES 結構中,用於 OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES OID。 OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES是 RSS 第 2 版的同步 OID (RSSv2) 。
語法
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
NDIS_NIC_SWITCH_ID值,表示 VPort 所在的 NIC 參數。
交換器標識碼是介於零與網路適配器支持的交換器數目之間的整數。 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_ENTRY 結構,包含在 NDIS_RSS_SET_INDIRECTION_ENTRIES 結構中,都必須使用相同的 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