EVT_NET_ADAPTER_RECEIVE_SCALING_SET_HASH_SECRET_KEY función de devolución de llamada (netreceivescaling.h)

El controlador de cliente implementa la función de devolución de llamada EvtNetAdapterReceiveScalingSetHashSecretKey para establecer la clave secreta hash para el controlador de interfaz de red (NIC).

Sintaxis

EVT_NET_ADAPTER_RECEIVE_SCALING_SET_HASH_SECRET_KEY EvtNetAdapterReceiveScalingSetHashSecretKey;

NTSTATUS EvtNetAdapterReceiveScalingSetHashSecretKey(
  [_In_] NETADAPTER Adapter,
  [_In_] const NET_ADAPTER_RECEIVE_SCALING_HASH_SECRET_KEY *HashSecretKey
)
{...}

Parámetros

[_In_] Adapter

Objeto NETADAPTER que obtuvo el controlador de cliente en una llamada anterior a NetAdapterCreate.

[_In_] HashSecretKey

Puntero a una estructura de NET_ADAPTER_RECEIVE_SCALING_HASH_SECRET_KEY que contiene la clave secreta hash para validar los cálculos hash.

Valor devuelto

Devuelve STATUS_SUCCESS si la clave secreta hash se estableció correctamente. De lo contrario, devuelve un código de error NTSTATUS adecuado.

Comentarios

Registre la implementación de esta función de devolución de llamada estableciendo el miembro adecuado de la estructura de NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES y, a continuación, llamando a NetAdapterSetReceiveScalingCapabilities. Los controladores de cliente suelen llamar a NetAdapterSetReceiveScalingCapabilities al iniciar un adaptador net antes de llamar a NetAdapterStart.

Ejemplo

En esta devolución de llamada, los controladores de cliente NIC programan la clave secreta hash proporcionada a su hardware para su uso en la comprobación de los cálculos de hash RSS.

NTSTATUS
MyEvtNetAdapterReceiveScalingSetHashSecretKey(
	_In_	NETADAPTER 											Adapter,
	_In_	const NET_ADAPTER_RECEIVE_SCALING_HASH_SECRET_KEY *	HashSecretKey	
)
{
	const UINT32* key = (const UINT32*)HashSecretKey->Key;
	if(!MyHardwareRssSetHashSecretKey)
	{
		WdfDeviceSetFailed(Adapter->WdfDevice, WdfDeviceFailedAttemptRestart);
		return STATUS_UNSUCCESSFUL;
	}

	return STATUS_SUCCESS;
}

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1,25
Encabezado netreceivescaling.h (include netadaptercx.h)
IRQL PASSIVE_LEVEL

Consulte también

NET_ADAPTER_RECEIVE_SCALING_HASH_SECRET_KEY

Escalado lateral de recepción de NetAdapterCx