NDIS_RECEIVE_HASH_PARAMETERS struttura (ntddndis.h)
La struttura NDIS_RECEIVE_HASH_PARAMETERS specifica i parametri hash di ricezione per un adattatore miniport che supporta i calcoli hash di ricezione.
Sintassi
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;
Members
Header
Struttura NDIS_OBJECT_HEADER per la struttura NDIS_RECEIVE_HASH_PARAMETERS. Impostare il membro Type della struttura che Header specifica su NDIS_OBJECT_TYPE_DEFAULT, il membro Revision su NDIS_RECEIVE_HASH_PARAMETERS_REVISION_1 e il membro Size su NDIS_SIZEOF_RECEIVE_HASH_PARAMETERS_REVISION_1.
Flags
Valore USHORT che indica cosa deve fare il driver miniport con i parametri hash. Il driver miniport può usare questi flag per determinare rapidamente quali parametri sono stati modificati e aggiornare di conseguenza le impostazioni hash.
In una richiesta impostata i flag sono definiti come segue:
NDIS_RECEIVE_HASH_FLAG_ENABLE_HASH
Se questo flag è impostato, abilitare il calcolo dei valori hash nei frame ricevuti e inserire il valore hash calcolato nelle informazioni OOB NetBufferListHashValue nella struttura NET_BUFFER_LIST.
Se questo flag è deselezionato, disabilitare il calcolo dei valori hash nei fotogrammi ricevuti.
Se il calcolo hash di ricezione è abilitato, il driver miniport deve impostare questo flag; in caso contrario, questo flag deve essere chiaro.
NDIS_RECEIVE_HASH_FLAG_HASH_INFO_UNCHANGED
Il membro HashInformation non è stato modificato. Le informazioni hash includono i tipi hash e la funzione hash.
Se questo flag è impostato, il membro HashInformation della struttura NDIS_RECEIVE_HASH_PARAMETERS deve essere ignorato.
Se questo flag viene cancellato, il membro HashInformation contiene un nuovo valore che il driver miniport deve usare per calcolare i valori hash nei fotogrammi ricevuti.
NDIS_RECEIVE_HASH_FLAG_HASH_KEY_UNCHANGED
La chiave privata e i membri dati associati non sono stati modificati.
Se questo flag è impostato, la chiave privata e i membri dei dati associati devono essere ignorati.
Se questo flag viene cancellato, la chiave privata o i membri dei dati associati sono stati modificati e il driver miniport deve usare le nuove informazioni.
In una richiesta di query i flag sono definiti come segue:
HashInformation
In una richiesta impostata, il tipo hash e la funzione hash che la scheda di interfaccia di rete deve usare per calcolare i valori hash per i pacchetti in ingresso.
In una richiesta di query, il tipo hash e la funzione hash usata dalla scheda di interfaccia di rete.
I driver di overlying e NDIS possono usare NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC macro per combinare il tipo hash e la funzione hash in informazioni hash e impostare il membro HashInformation .
I driver miniport possono usare NDIS_RSS_HASH_TYPE_FROM_HASH_INFO macro per ottenere il tipo hash da HashInformation e NDIS_RSS_HASH_FUNC_FROM_HASH_INFO macro per ottenere la funzione hash.
HashSecretKeySize
Dimensioni della matrice di chiavi segrete della funzione hash, in byte. Le dimensioni della matrice sono 40 byte per NdisHashFunctionToeplitz.
HashSecretKeyOffset
Offset della matrice di chiavi segrete della funzione hash dall'inizio della struttura NDIS_RECEIVE_HASH_PARAMETERS. Usare questo offset per ottenere la chiave privata a 320 bit (40 byte).
In una richiesta impostata, la chiave privata può contenere tutti i dati scelti dal driver overlying.
In una richiesta di query, la chiave privata contiene i dati usati dalla scheda di interfaccia di rete.
Commenti
La struttura NDIS_RECEIVE_HASH_PARAMETERS definisce i parametri hash per l'OID OID_GEN_RECEIVE_HASH .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato in NDIS 6.0 e versioni successive. |
Intestazione | ntddndis.h (include Ndis.h) |