Partilhar via


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.

Valor de retorno

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

Observações

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

Exemplo

Neste 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
da Plataforma de Destino Universal
versão mínima do KMDF 1.25
versão mínima do UMDF 2.33
cabeçalho netreceivescaling.h (include netadaptercx.h)
IRQL PASSIVE_LEVEL

Consulte também

NET_ADAPTER_RECEIVE_SCALING_HASH_SECRET_KEY

netAdapterCx receive side scaling