EVT_NET_ADAPTER_RECEIVE_SCALING_SET_HASH_SECRET_KEY fonction de rappel (netreceivescaling.h)
La fonction de rappel EvtNetAdapterReceiveScalingSetHashSecretKey est implémentée par le pilote client pour définir la clé secrète de hachage pour le contrôleur d’interface réseau (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
Objet NETADAPTER obtenu par le pilote client lors d’un appel précédent à NetAdapterCreate.
[_In_] HashSecretKey
Pointeur vers une structure NET_ADAPTER_RECEIVE_SCALING_HASH_SECRET_KEY qui contient la clé secrète de hachage pour valider les calculs de hachage.
Retourne STATUS_SUCCESS si la clé secrète de hachage a été correctement définie. Sinon, retourne un code d’erreur NTSTATUS approprié.
Inscrivez votre implémentation de cette fonction de rappel en définissant le membre approprié de la structure NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES , puis en appelant NetAdapterSetReceiveScalingCapabilities. Les pilotes clients appellent généralement NetAdapterSetReceiveScalingCapabilities lors du démarrage d’une carte réseau, avant d’appeler NetAdapterStart.
Dans ce rappel, les pilotes clients de carte réseau programment la clé secrète de hachage fournie sur leur matériel pour une utilisation dans la vérification des calculs de hachage 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;
}
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
Version KMDF minimale | 1,25 |
Version UMDF minimale | 2,33 |
En-tête | netreceivescaling.h (inclure netadaptercx.h) |
IRQL | PASSIVE_LEVEL |