NDIS_SWITCH_GET_NET_BUFFER_LIST_DESTINATIONS funzione di callback (ndis.h)

La funzione GetNetBufferListDestinations restituisce le porte di destinazione del commutatore estendibile Hyper-V di un pacchetto specificato da una struttura NET_BUFFER_LIST .

Sintassi

NDIS_SWITCH_GET_NET_BUFFER_LIST_DESTINATIONS NdisSwitchGetNetBufferListDestinations;

void NdisSwitchGetNetBufferListDestinations(
  [in]      NDIS_SWITCH_CONTEXT NdisSwitchContext,
  [in, out] PNET_BUFFER_LIST NetBufferList,
  [out]     PNDIS_SWITCH_FORWARDING_DESTINATION_ARRAY *Destinations
)
{...}

Parametri

[in] NdisSwitchContext

Valore NDIS_SWITCH_CONTEXT che contiene l'handle del modulo di opzione estendibile a cui è collegata l'estensione del commutatore estendibile Hyper-V. Quando l'estensione chiama NdisFGetOptionalSwitchHandlers, questo handle viene restituito tramite il parametro NdisSwitchContext .

[in, out] NetBufferList

Puntatore a un elenco collegato di strutture NET_BUFFER_LIST .

Nota Se il parametro NetBufferList contiene un puntatore a un elenco collegato di più strutture NET_BUFFER_LIST , le porte di destinazione vengono restituite solo dalla prima struttura NET_BUFFER_LIST nell'elenco.
 

[out] Destinations

Puntatore a una struttura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY . Questa struttura specifica le porte di destinazione del commutatore estendibile del pacchetto.

Valore restituito

Se la chiamata ha esito positivo, la funzione restituisce NDIS_STATUS_SUCCESS. In caso contrario, restituisce un codice di errore NDIS_STATUS_Xxx definito in Ndis.h.

Commenti

L'estensione del commutatore estendibile chiama la funzione GetNetBufferListDestinations per ottenere una matrice delle porte di destinazione del commutatore estendibile per un pacchetto. Se la funzione restituisce correttamente, la matrice viene ottenuta tramite il parametro Destinations , che contiene un puntatore a una struttura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY . Ogni elemento di questa matrice viene formattato come struttura NDIS_SWITCH_PORT_DESTINATION che specifica una porta di destinazione per il pacchetto.

Se l'estensione alloca un pacchetto, l'estensione deve prima chiamare la funzione AllocateNetBufferListForwardingContext prima di chiamare GetNetBufferListDestinations. La funzione AllocateNetBufferListForwardingContext alloca il contesto di inoltro del commutatore estendibile per il pacchetto. Questo contesto contiene i dati del commutatore estendibile fuori banda (OOB) che include la struttura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY .

Per altre informazioni sul contesto di inoltro del commutatore estendibile, vedere Contesto di inoltro del commutatore estendibile Hyper-V.

Dopo aver ottenuto la matrice, l'estensione può eseguire le operazioni seguenti:

Nota La struttura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY è garantita la validità mentre l'estensione mantiene la proprietà della struttura NET_BUFFER_LIST del pacchetto.
 

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.30 e versioni successive.
Piattaforma di destinazione Desktop
Intestazione ndis.h (include Ndis.h)
IRQL <= DISPATCH_LEVEL

Vedi anche

AllocateNetBufferListForwardingContext

NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY

NDIS_SWITCH_PORT_DESTINATION

NET_BUFFER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers