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