EVT_NET_ADAPTER_RECEIVE_SCALING_SET_HASH_SECRET_KEY función de devolución de llamada (netreceivescaling.h)
El controlador de cliente implementa el EvtNetAdapterReceiveScalingSetHashSecretKey función de devolución de llamada 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 el controlador cliente obtuvo 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.
Observaciones
Registre la implementación de esta función de devolución de llamada estableciendo el miembro adecuado de la estructura NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES y llamando a NetAdapterSetReceiveScalingCapabilities. Normalmente, los controladores de cliente llaman 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 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 | Valor |
---|---|
de la plataforma de destino de | Universal |
versión mínima de KMDF | 1.25 |
versión mínima de UMDF | 2.33 |
encabezado de | netreceivescaling.h (include netadaptercx.h) |
irQL | PASSIVE_LEVEL |