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.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Unterstützt in NDIS 6.0 und höher. |
Header- | ntddndis.h (include Ndis.h) |