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 .
[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 :
-
Allouez de l’espace pour des éléments NDIS_SWITCH_PORT_DESTINATION supplémentaires dans le tableau.
Pour plus d’informations, consultez Ajout de données de port de destination de commutateur extensible à un paquet.
- Modifiez les informations de port de destination dans les éléments NDIS_SWITCH_PORT_DESTINATION du tableau. Par exemple, l’extension peut spécifier le port vers lequel le paquet doit être transféré ou peut exclure un paquet d’être transféré vers un port spécifié.
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