Freigeben über


NDIS_RECEIVE_HASH_PARAMETERS-Struktur (ntddndis.h)

Die NDIS_RECEIVE_HASH_PARAMETERS-Struktur gibt die Empfangshashparameter für einen Miniportadapter an, der Empfangshashberechnungen unterstützt.

Syntax

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;

Member

Header

Die NDIS_OBJECT_HEADER-Struktur für die NDIS_RECEIVE_HASH_PARAMETERS-Struktur. Legen Sie das Element Typ der Struktur, die Header angibt, auf NDIS_OBJECT_TYPE_DEFAULT, das Revisionselement auf NDIS_RECEIVE_HASH_PARAMETERS_REVISION_1 und das Size-Element auf NDIS_SIZEOF_RECEIVE_HASH_PARAMETERS_REVISION_1 fest.

Flags

Ein USHORT-Wert, der angibt, was der Miniporttreiber mit den Hashparametern tun soll. Der Miniporttreiber kann diese Flags verwenden, um schnell zu ermitteln, welche Parameter geändert wurden, und die Hasheinstellungen entsprechend aktualisieren.

In einer Setanforderung werden die Flags wie folgt definiert:

NDIS_RECEIVE_HASH_FLAG_ENABLE_HASH

Wenn dieses Flag festgelegt ist, aktivieren Sie die Berechnung von Hashwerten für empfangene Frames, und platzieren Sie den berechneten Hashwert in den OOB-Informationen von NetBufferListHashValue in der NET_BUFFER_LIST-Struktur.

Wenn dieses Flag eindeutig ist, deaktivieren Sie die Berechnung von Hashwerten für empfangene Frames.

Wenn die Empfangshashberechnung aktiviert ist, sollte der Miniporttreiber dieses Flag festlegen. Andernfalls sollte dieses Flag eindeutig sein.

NDIS_RECEIVE_HASH_FLAG_HASH_INFO_UNCHANGED

Das HashInformation-Element wurde nicht geändert. Die Hashinformationen umfassen die Hashtypen und die Hashfunktion.

Wenn dieses Flag festgelegt ist, sollte das HashInformation-Element der NDIS_RECEIVE_HASH_PARAMETERS-Struktur ignoriert werden.

Wenn dieses Flag deaktiviert ist, enthält das HashInformation-Element einen neuen Wert, den der Miniporttreiber zum Berechnen von Hashwerten für empfangene Frames verwenden muss.

NDIS_RECEIVE_HASH_FLAG_HASH_KEY_UNCHANGED

Der geheime Schlüssel und die zugeordneten Datenmember wurden nicht geändert.

Wenn dieses Flag festgelegt ist, sollten der geheime Schlüssel und die zugehörigen Datenmember ignoriert werden.

Wenn dieses Flag deaktiviert ist, haben sich der geheime Schlüssel oder die zugeordneten Datenmember geändert, und der Miniporttreiber muss die neuen Informationen verwenden.

In einer Abfrageanforderung werden die Flags wie folgt definiert:

HashInformation

In einer Setanforderung den Hashtyp und die Hashfunktion, die die NIC verwenden soll, um die Hashwerte für die eingehenden Pakete zu berechnen.

In einer Abfrageanforderung den Hashtyp und die Hashfunktion, die die NIC verwendet.

Überlastende Treiber und NDIS können die NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC Makro, um den Hashtyp und die Hashfunktion in Hashinformationen zu kombinieren und das HashInformation-Element festzulegen.

Miniporttreiber können die NDIS_RSS_HASH_TYPE_FROM_HASH_INFO Makro, um den Hashtyp aus HashInformation und die NDIS_RSS_HASH_FUNC_FROM_HASH_INFO Makro, um die Hashfunktion abzurufen.

HashSecretKeySize

Die Größe des Arrays des geheimen Schlüssels der Hashfunktion in Bytes. Die Größe des Arrays beträgt 40 Bytes für NdisHashFunctionToeplitz.

HashSecretKeyOffset

Der Offset des Arrays des geheimen Schlüssels der Hashfunktion vom Anfang der NDIS_RECEIVE_HASH_PARAMETERS-Struktur. Verwenden Sie diesen Offset, um den geheimen 320-Bit-Schlüssel (40 Bytes) abzurufen.

In einer festgelegten Anforderung kann der geheime Schlüssel alle Daten enthalten, die der überlastende Treiber auswäht.

In einer Abfrageanforderung enthält der geheime Schlüssel die Daten, die die NIC verwendet.

Hinweise

Die NDIS_RECEIVE_HASH_PARAMETERS-Struktur definiert die Hashparameter für die OID_GEN_RECEIVE_HASH OID.

Hinweis Protokolltreiber müssen Empfangshashberechnungen deaktivieren, bevor sie RSS aktivieren. Wenn RSS aktiviert ist, deaktiviert ein Protokolltreiber RSS, bevor er Empfangshashberechnungen aktiviert. Ein Miniporttreiber sollte eine Anforderung zum Aktivieren von Empfangshashberechnungen oder RSS fehlschlagen, wenn der andere Dienst derzeit aktiviert ist.
 
Hinweis Der geheime Schlüssel wird nach dem NDIS_RECEIVE_HASH_PARAMETERS Strukturmember angefügt.
 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.0 und höher.
Kopfzeile ntddndis.h (include Ndis.h)

Weitere Informationen

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