共用方式為


NDIS_RECEIVE_HASH_PARAMETERS 結構 (ntddndis.h)

NDIS_RECEIVE_HASH_PARAMETERS 結構會指定支援接收哈希計算之迷你埠配接器的接收哈希參數。

語法

typedef struct _NDIS_RECEIVE_HASH_PARAMETERS {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG              HashInformation;
  USHORT             HashSecretKeySize;
  ULONG              HashSecretKeyOffset;
} NDIS_RECEIVE_HASH_PARAMETERS, *PNDIS_RECEIVE_HASH_PARAMETERS;

成員

Header

NDIS_RECEIVE_HASH_PARAMETERS 結構的NDIS_OBJECT_HEADER結構。 設定 Header 指定要NDIS_OBJECT_TYPE_DEFAULT之結構的 Type 成員、要NDIS_RECEIVE_HASH_PARAMETERS_REVISION_1的 Revision 成員,以及要NDIS_SIZEOF_RECEIVE_HASH_PARAMETERS_REVISION_1的 Size 成員。

Flags

USHORT 值,指出迷你埠驅動程序應該使用哈希參數執行哪些動作。 迷你埠驅動程式可以使用這些旗標,快速判斷哪些參數已變更並據以更新哈希設定。

在設定要求中,旗標的定義如下:

NDIS_RECEIVE_HASH_FLAG_ENABLE_HASH

如果設定此旗標,請在接收的框架上啟用計算哈希值,並將導出的哈希值放在 NET_BUFFER_LIST 結構中的 NetBufferListHashValue OOB 資訊中。

如果此旗標清楚,請停用所接收畫面格上的哈希值計算。

如果已啟用接收哈希計算,迷你埠驅動程序應該設定此旗標;否則,此旗標應該清楚。

NDIS_RECEIVE_HASH_FLAG_HASH_INFO_UNCHANGED

HashInformation 成員尚未變更。 哈希資訊包括哈希類型和哈希函式。

如果設定此旗標,應該忽略NDIS_RECEIVE_HASH_PARAMETERS結構的HashInformation成員。

如果清除此旗標,HashInformation 成員會包含新的值,迷你埠驅動程序必須使用這個值來計算所接收畫面上的哈希值。

NDIS_RECEIVE_HASH_FLAG_HASH_KEY_UNCHANGED

秘密金鑰和相關聯的數據成員尚未變更。

如果設定此旗標,則應該忽略秘密密鑰和相關聯的數據成員。

如果清除此旗標,秘密密鑰或相關聯的數據成員已變更,且迷你埠驅動程序必須使用新的資訊。

在查詢要求中,旗標的定義如下:

HashInformation

在集合要求中,NIC 應該用來計算傳入封包哈希值的哈希類型和哈希函式。

在查詢要求中,NIC 所使用的哈希類型和哈希函式。

過度運用驅動程式和 NDIS 可以使用 NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC 宏,將哈希類型和哈希函式合併成哈希資訊,並設定 HashInformation 成員。

迷你埠驅動程式可以使用 NDIS_RSS_HASH_TYPE_FROM_HASH_INFO 宏,從 HashInformation 和 取得哈希類型 NDIS_RSS_HASH_FUNC_FROM_HASH_INFO 宏以取得哈希函式。

HashSecretKeySize

哈希函式的秘密金鑰陣列大小,以位元組為單位。 陣列的大小是 NdisHashFunctionToeplitz 的 40 個字節。

HashSecretKeyOffset

哈希函式的秘密金鑰陣列從NDIS_RECEIVE_HASH_PARAMETERS結構的開頭位移。 使用此位移來取得 320 位 (40 個字節) 秘密密鑰。

在設定要求中,秘密密鑰可以包含過度處理驅動程序選擇的任何數據。

在查詢要求中,秘密金鑰包含 NIC 正在使用的資料。

備註

NDIS_RECEIVE_HASH_PARAMETERS結構會定義 OID_GEN_RECEIVE_HASH OID 的哈希參數。

注意 通訊協定驅動程序必須先停用接收哈希計算,才能啟用 RSS。 如果已啟用 RSS,通訊協定驅動程式會在啟用接收哈希計算之前停用 RSS。 如果目前已啟用其他服務,迷你埠驅動程序應該會失敗要求以接收哈希計算或 RSS。
 
注意 秘密金鑰會在NDIS_RECEIVE_HASH_PARAMETERS結構成員之後附加。
 

規格需求

需求
最低支援的用戶端 NDIS 6.0 和更新版本支援。
標頭 ntddndis.h (包含 Ndis.h)

另請參閱

NDIS_OBJECT_HEADER

NDIS_RSS_HASH_FUNC_FROM_HASH_INFO NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC NDIS_RSS_HASH_TYPE_FROM_HASH_INFO

NET_BUFFER_LIST

OID_GEN_RECEIVE_HASH