EVT_NET_ADAPTER_RECEIVE_SCALING_SET_HASH_SECRET_KEY 콜백 함수(netreceivescaling.h)

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를 호출하여 이 콜백 함수의 구현을 등록합니다. 클라이언트 드라이버는 일반적으로 NetAdapterStart를 호출하기 전에 Net 어댑터를 시작할 때 NetAdapterSetReceiveScalingCapabilities 를 호출합니다.

예제

이 콜백에서 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
헤더 netreceivescaling.h(netadaptercx.h 포함)
IRQL PASSIVE_LEVEL

참고 항목

NET_ADAPTER_RECEIVE_SCALING_HASH_SECRET_KEY

NetAdapterCx 수신측 크기 조정