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


функция обратного вызова 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 (включая netadaptercx.h)
IRQL PASSIVE_LEVEL

См. также раздел

NET_ADAPTER_RECEIVE_SCALING_HASH_SECRET_KEY

Масштабирование на стороне приема NetAdapterCx