EvtNetAdapterReceiveScalingSetHashSecretKey 回调函数由客户端驱动程序实现,以设置网络接口控制器(NIC)的哈希密钥。
语法
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
在上一次调用 NetAdapterCreate中获取的客户端驱动程序的 NETADAPTER 对象。
[_In_] HashSecretKey
指向包含用于验证哈希计算的哈希密钥的 NET_ADAPTER_RECEIVE_SCALING_HASH_SECRET_KEY 结构的指针。
返回值
如果成功设置哈希密钥,则返回STATUS_SUCCESS。 否则,返回相应的 NTSTATUS 错误代码。
言论
通过设置 NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES 结构的相应成员,然后调用 NetAdapterSetReceiveScalingCapabilities来注册此回调函数的实现。 客户端驱动程序通常在启动 net 适配器时调用 NetAdapterSetReceiveScalingCapabilities,然后再调用 NetAdapterStart。
例
在此回调中,NIC 客户端驱动程序将提供的哈希密钥编程到其硬件,以用于验证 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 |