struttura NDIS_RECEIVE_HASH_PARAMETERS (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;
Membri
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 le operazioni che il driver miniport deve eseguire con i parametri hash. Il driver miniport può usare questi flag per determinare rapidamente quali parametri sono stati modificati e aggiornare le impostazioni hash di conseguenza.
In una richiesta set, i flag vengono definiti come segue:
NDIS_RECEIVE_HASH_FLAG_ENABLE_HASH
Se questo flag è impostato, abilitare il calcolo dei valori hash nei fotogrammi ricevuti e posizionare il valore hash calcolato nella NetBufferListHashValue informazioni OOB nella struttura NET_BUFFER_LIST.
Se questo flag è chiaro, 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 dati associati devono essere ignorati.
Se questo flag viene cancellato, la chiave privata o i membri 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 set, 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.
Gli overlying driver 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 il 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. La dimensione della matrice è di 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 di overlying.
In una richiesta di query la chiave privata contiene i dati usati dalla scheda di interfaccia di rete.
Osservazioni
La struttura NDIS_RECEIVE_HASH_PARAMETERS definisce i parametri hash per l'OID OID_GEN_RECEIVE_HASH.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Supportato in NDIS 6.0 e versioni successive. |
intestazione | ntddndis.h (include Ndis.h) |