estructura NDIS_RECEIVE_HASH_PARAMETERS (ntddndis.h)
La estructura NDIS_RECEIVE_HASH_PARAMETERS especifica los parámetros hash de recepción para un adaptador de miniporte que admite cálculos hash de recepción.
Sintaxis
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;
Miembros
Header
Estructura NDIS_OBJECT_HEADER para la estructura de NDIS_RECEIVE_HASH_PARAMETERS. Establezca el miembro Type de la estructura que Header especifica para NDIS_OBJECT_TYPE_DEFAULT, el miembro Revision en NDIS_RECEIVE_HASH_PARAMETERS_REVISION_1 y el miembro Size en NDIS_SIZEOF_RECEIVE_HASH_PARAMETERS_REVISION_1.
Flags
Valor de USHORT que indica lo que debe hacer el controlador de minipuerto con los parámetros hash. El controlador de minipuerto puede usar estas marcas para determinar rápidamente qué parámetros han cambiado y actualizar la configuración de hash en consecuencia.
En una solicitud set, las marcas se definen de la siguiente manera:
NDIS_RECEIVE_HASH_FLAG_ENABLE_HASH
Si se establece esta marca, habilite el cálculo de valores hash en los fotogramas recibidos y coloque el valor hash calculado en la información de OOB NetBufferListHashValue en la estructura NET_BUFFER_LIST.
Si esta marca está desactivada, deshabilite el cálculo de valores hash en fotogramas recibidos.
Si el cálculo hash de recepción está habilitado, el controlador de minipuerto debe establecer esta marca; de lo contrario, esta marca debe estar clara.
NDIS_RECEIVE_HASH_FLAG_HASH_INFO_UNCHANGED
El miembro HashInformation no ha cambiado. La información hash incluye los tipos hash y la función hash.
Si se establece esta marca, se debe omitir el miembro HashInformation de la estructura NDIS_RECEIVE_HASH_PARAMETERS.
Si se borra esta marca, el miembro HashInformation contiene un nuevo valor que el controlador de miniporte debe usar para calcular los valores hash en los fotogramas recibidos.
NDIS_RECEIVE_HASH_FLAG_HASH_KEY_UNCHANGED
La clave secreta y los miembros de datos asociados no han cambiado.
Si se establece esta marca, se deben omitir la clave secreta y los miembros de datos asociados.
Si se borra esta marca, la clave secreta o los miembros de datos asociados han cambiado y el controlador de miniporte debe usar la nueva información.
En una solicitud de consulta, las marcas se definen de la siguiente manera:
HashInformation
En una solicitud set, el tipo hash y la función hash que la NIC debe usar para calcular los valores hash de los paquetes entrantes.
En una solicitud de consulta, el tipo hash y la función hash que usa la NIC.
El uso excesivo de controladores y NDIS puede usar NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC macro para combinar el tipo hash y la función hash en información hash y establecer el miembro HashInformation .
Los controladores de minipuerto pueden usar el NDIS_RSS_HASH_TYPE_FROM_HASH_INFO macro para obtener el tipo hash de HashInformation y NDIS_RSS_HASH_FUNC_FROM_HASH_INFO macro para obtener la función hash.
HashSecretKeySize
Tamaño de la matriz de claves secretas de la función hash, en bytes. El tamaño de la matriz es de 40 bytes para NdisHashFunctionToeplitz.
HashSecretKeyOffset
Desplazamiento de la matriz de claves secretas de la función hash desde el principio de la estructura NDIS_RECEIVE_HASH_PARAMETERS. Use este desplazamiento para obtener la clave secreta de 320 bits (40 bytes).
En una solicitud set, la clave secreta puede contener cualquier dato que elija el controlador de sobreaprovisionamiento.
En una solicitud de consulta, la clave secreta contiene los datos que usa la NIC.
Comentarios
La estructura NDIS_RECEIVE_HASH_PARAMETERS define los parámetros hash para el OID de OID_GEN_RECEIVE_HASH .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Se admite en NDIS 6.0 y versiones posteriores. |
Encabezado | ntddndis.h (include Ndis.h) |