EVT_NET_ADAPTER_RECEIVE_SCALING_SET_HASH_SECRET_KEY funzione di callback (netreceivescaling.h)

La funzione di callback EvtNetAdapterReceiveScalingSetHashSecretKey viene implementata dal driver client per impostare la chiave privata hash per il controller di interfaccia di rete.

Sintassi

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
)
{...}

Parametri

[_In_] Adapter

L'oggetto NETADAPTER il driver client ottenuto in una chiamata precedente a NetAdapterCreate.

[_In_] HashSecretKey

Puntatore a una struttura NET_ADAPTER_RECEIVE_SCALING_HASH_SECRET_KEY contenente la chiave privata hash per la convalida dei calcoli hash.

Valore restituito

Restituisce STATUS_SUCCESS se la chiave privata hash è stata impostata correttamente. In caso contrario, restituisce un codice di errore NTSTATUS appropriato.

Commenti

Registrare l'implementazione di questa funzione di callback impostando il membro appropriato della struttura NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES e quindi chiamando NetAdapterSetReceiveScalingCapabilities. I driver client chiamano in genere NetAdapterSetReceiveScalingCapabilities quando si avvia una scheda net, prima di chiamare NetAdapterStart.

Esempio

In questo callback, i driver client della scheda di interfaccia di rete programmano la chiave del segreto hash fornita all'hardware da usare per verificare i calcoli hash 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;
}

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1,25
Intestazione netreceivescaling.h (include netadaptercx.h)
IRQL PASSIVE_LEVEL

Vedi anche

NET_ADAPTER_RECEIVE_SCALING_HASH_SECRET_KEY

Scalabilità laterale netAdapterCx