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 が指定する構造体の Type メンバーをNDIS_OBJECT_TYPE_DEFAULTに設定し、Revision メンバーを NDIS_RECEIVE_HASH_PARAMETERS_REVISION_1に、Size メンバーを NDIS_SIZEOF_RECEIVE_HASH_PARAMETERS_REVISION_1に設定します。
Flags
ミニポート ドライバーがハッシュ パラメーターを使用して行う必要があることを示す USHORT 値。 ミニポート ドライバーは、これらのフラグを使用して、変更されたパラメーターをすばやく特定し、それに応じてハッシュ設定を更新できます。
set 要求では、フラグは次のように定義されます。
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
set 要求では、NIC が受信パケットのハッシュ値を計算するために使用するハッシュの種類とハッシュ関数。
クエリ要求で、NIC で使用されているハッシュの種類とハッシュ関数。
上にあるドライバーと NDIS では、 NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC マクロを使用して、ハッシュの種類とハッシュ関数をハッシュ情報に結合し、 HashInformation メンバーを設定します。
ミニポート ドライバーは、 を使用できます。hashInformation からハッシュ型を取得するには、マクロをNDIS_RSS_HASH_TYPE_FROM_HASH_INFOし、マクロNDIS_RSS_HASH_FUNC_FROM_HASH_INFOしてハッシュ関数を取得します。
HashSecretKeySize
ハッシュ関数の秘密鍵配列のサイズ (バイト単位)。 NdisHashFunctionToeplitz の配列のサイズは 40 バイトです。
HashSecretKeyOffset
NDIS_RECEIVE_HASH_PARAMETERS構造体の先頭からのハッシュ関数の秘密鍵配列のオフセット。 このオフセットを使用して、320 ビット (40 バイト) の秘密キーを取得します。
set 要求では、秘密キーには、基になるドライバーが選択する任意のデータを含めることができます。
クエリ要求では、秘密キーには NIC で使用されているデータが含まれます。
注釈
NDIS_RECEIVE_HASH_PARAMETERS構造体は、 OID_GEN_RECEIVE_HASH OID のハッシュ パラメーターを定義します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | NDIS 6.0 以降でサポートされています。 |
Header | ntddndis.h (Ndis.h を含む) |