Поделиться через


функция обратного вызова EVT_NET_ADAPTER_RECEIVE_SCALING_SET_HASH_SECRET_KEY (netreceivescaling.h)

Функция обратного вызова EvtNetAdapterReceiveScalingSetHashSecretKey реализована драйвером клиента, чтобы задать хэш-секретный ключ для сетевого контроллера интерфейса.

Синтаксис

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
)
{...}

Параметры

[_In_] Adapter

Объект NETADAPTER, полученный драйвером клиента в предыдущем вызове NetAdapterCreate.

[_In_] HashSecretKey

Указатель на структуру NET_ADAPTER_RECEIVE_SCALING_HASH_SECRET_KEY, содержащую хэш-секретный ключ для проверки вычислений хэша.

Возвращаемое значение

Возвращает STATUS_SUCCESS, если хэш-ключ секрета был успешно задан. В противном случае возвращает соответствующий код ошибки NTSTATUS.

Замечания

Зарегистрируйте реализацию этой функции обратного вызова, задав соответствующий элемент структуры NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES, а затем вызовите NetAdapterSetReceiveScalingCapabilities. Клиентские драйверы обычно вызывают NetAdapterSetReceiveScalingCapabilities при запуске сетевого адаптера перед вызовом NetAdapterStart.

Пример

В этом обратном вызове драйвер клиента сетевой карты программирует предоставленный секретный ключ хэша для их оборудования для проверки вычислений хэша 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;
}

Требования

Требование Ценность
целевая платформа Всеобщий
минимальная версия KMDF 1.25
минимальная версия UMDF 2.33
заголовка netreceivescaling.h (include netadaptercx.h)
IRQL PASSIVE_LEVEL

См. также

NET_ADAPTER_RECEIVE_SCALING_HASH_SECRET_KEY

Масштабирование на стороне получения NetAdapterCx