функция обратного вызова 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 |