EVT_NET_ADAPTER_RECEIVE_SCALING_SET_HASH_SECRET_KEY função de retorno de chamada (netreceivescaling.h)

A função de retorno de chamada EvtNetAdapterReceiveScalingSetHashSecretKey é implementada pelo driver cliente para definir a chave secreta de hash para o NIC (controlador de interface de rede).

Sintaxe

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

O objeto NETADAPTER que o driver cliente obteve em uma chamada anterior para NetAdapterCreate.

[_In_] HashSecretKey

Um ponteiro para uma estrutura NET_ADAPTER_RECEIVE_SCALING_HASH_SECRET_KEY que contém a chave secreta de hash para validar cálculos de hash.

Retornar valor

Retorna STATUS_SUCCESS se a chave secreta de hash foi definida com êxito. Caso contrário, retornará um código de erro NTSTATUS apropriado.

Comentários

Registre sua implementação dessa função de retorno de chamada definindo o membro apropriado da estrutura NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES e chamando NetAdapterSetReceiveScalingCapabilities. Os drivers de cliente normalmente chamam NetAdapterSetReceiveScalingCapabilities ao iniciar um adaptador de rede, antes de chamar NetAdapterStart.

Exemplo

Nesse retorno de chamada, os drivers de cliente NIC programam a chave secreta de hash fornecida para seu hardware para uso na verificação de cálculos de hash do 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
Plataforma de Destino Universal
Versão mínima do KMDF 1,25
Cabeçalho netreceivescaling.h (include netadaptercx.h)
IRQL PASSIVE_LEVEL

Confira também

NET_ADAPTER_RECEIVE_SCALING_HASH_SECRET_KEY

Escala lateral de recebimento do NetAdapterCx