Partager via


NDIS_SWITCH_GET_NET_BUFFER_LIST_DESTINATIONS fonction de rappel (ndis.h)

La fonction GetNetBufferListDestinations retourne les ports de destination de commutateur extensible Hyper-V d’un paquet spécifié par une structure NET_BUFFER_LIST .

Syntaxe

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

Paramètres

[in] NdisSwitchContext

Valeur NDIS_SWITCH_CONTEXT qui contient le handle du module de commutateur extensible auquel l’extension de commutateur extensible Hyper-V est attachée. Lorsque l’extension appelle NdisFGetOptionalSwitchHandlers, ce handle est retourné via le paramètre NdisSwitchContext .

[in, out] NetBufferList

Pointeur vers une liste liée de structures NET_BUFFER_LIST .

Note Si le paramètre NetBufferList contient un pointeur vers une liste liée de plusieurs structures NET_BUFFER_LIST , les ports de destination sont retournés uniquement à partir de la première structure NET_BUFFER_LIST de la liste.
 

[out] Destinations

Pointeur vers une structure NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY . Cette structure spécifie les ports de destination du commutateur extensible du paquet.

Valeur retournée

Si l’appel réussit, la fonction retourne NDIS_STATUS_SUCCESS. Sinon, il retourne un code d’erreur NDIS_STATUS_Xxx défini dans Ndis.h.

Remarques

L’extension de commutateur extensible appelle la fonction GetNetBufferListDestinations pour obtenir un tableau des ports de destination du commutateur extensible pour un paquet. Si la fonction retourne correctement, le tableau est obtenu via le paramètre Destinations , qui contient un pointeur vers une structure NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY . Chaque élément de ce tableau est mis en forme en tant que structure NDIS_SWITCH_PORT_DESTINATION qui spécifie un port de destination pour le paquet.

Si l’extension alloue un paquet, l’extension doit d’abord appeler la fonction AllocateNetBufferListForwardingContext avant d’appeler GetNetBufferListDestinations. La fonction AllocateNetBufferListForwardingContext alloue le contexte de transfert de commutateur extensible pour le paquet. Ce contexte contient les données de commutateur extensible hors bande (OOB) qui incluent la structure NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY .

Pour plus d’informations sur le contexte de transfert de commutateur extensible, consultez Contexte de transfert de commutateur extensible Hyper-V.

Une fois que l’extension a obtenu le tableau, elle peut effectuer les opérations suivantes :

NoteLa NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY structure est garantie comme étant valide, tandis que l’extension conserve la propriété de la structure NET_BUFFER_LIST du paquet.
 

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.30 et versions ultérieures.
Plateforme cible Desktop (Expérience utilisateur)
En-tête ndis.h (inclure Ndis.h)
IRQL <= DISPATCH_LEVEL

Voir aussi

AllocateNetBufferListForwardingContext

NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY

NDIS_SWITCH_PORT_DESTINATION

NET_BUFFER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers