Freigeben über


NDIS_RECEIVE_HASH_PARAMETERS Struktur (ntddndis.h)

Die NDIS_RECEIVE_HASH_PARAMETERS Struktur gibt die Empfangshashparameter für einen Miniportadapter an, der Hashberechnungen 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;

Angehörige

Header

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

Flags

Ein USHORT-Wert, der angibt, was der Miniporttreiber mit den Hashparametern tun soll. Der Miniporttreiber kann diese Flags verwenden, um schnell zu bestimmen, welche Parameter geändert wurden, und die Hasheinstellungen entsprechend zu 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 der NetBufferListHashValue OOB-Informationen in der NET_BUFFER_LIST-Struktur.

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

Wenn die Empfangenhashberechnung aktiviert ist, sollte der Miniporttreiber dieses Kennzeichen festlegen. andernfalls sollte dieses Kennzeichen klar 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 Kennzeichen gelöscht wird, 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 zugehörigen Datenmmber wurden nicht geändert.

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

Wenn dieses Kennzeichen gelöscht wird, haben sich der geheime Schlüssel oder die zugehörigen Datenmmber geändert, und der Miniporttreiber muss die neuen Informationen verwenden.

In einer Abfrageanforderung werden die Flags wie folgt definiert:

HashInformation

In einer set-Anforderung sollten der Hashtyp und die Hashfunktion, die von der NIC zum Berechnen der Hashwerte für die eingehenden Pakete verwendet werden soll.

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

Overlying drivers and NDIS can use the NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC Makro, um den Hashtyp und die Hashfunktion in Hashinformationen zu kombinieren und das HashInformation Member festzulegen.

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

HashSecretKeySize

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

HashSecretKeyOffset

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

In einer set-Anforderung kann der geheime Schlüssel beliebige Daten enthalten, die der überlastende Treiber auswäht.

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

Bemerkungen

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

Hinweis Protokolltreiber den Empfang von Hashberechnungen deaktivieren müssen, bevor sie RSS aktivieren. Wenn RSS aktiviert ist, deaktiviert ein Protokolltreiber RSS, bevor er Hashberechnungen ermöglicht. Ein Miniporttreiber sollte eine Anforderung nicht ausführen, um Hashberechnungen oder RSS zu aktivieren, wenn der andere Dienst zurzeit aktiviert ist.
 
Note The secret key is appended after the NDIS_RECEIVE_HASH_PARAMETERS structure members.Note The secret key is appended after the NDIS_RECEIVE_HASH_PARAMETERS structure members.
 

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.0 und höher.
Header- ntddndis.h (include Ndis.h)

Siehe auch

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