NDIS_SWITCH_ALLOCATE_NET_BUFFER_LIST_FORWARDING_CONTEXT fonction de rappel (ndis.h)
La fonction AllocateNetBufferListForwardingContext prépare une structure NET_BUFFER_LIST pour les opérations d’envoi ou de réception au sein du commutateur extensible.
Syntaxe
NDIS_SWITCH_ALLOCATE_NET_BUFFER_LIST_FORWARDING_CONTEXT NdisSwitchAllocateNetBufferListForwardingContext;
NDIS_STATUS NdisSwitchAllocateNetBufferListForwardingContext(
[in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
[in, out] PNET_BUFFER_LIST NetBufferList
)
{...}
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é par le biais du paramètre NdisSwitchContext .
[in, out] NetBufferList
Pointeur vers une liste liée de structures NET_BUFFER_LIST .
Valeur retournée
Si l’appel réussit, la fonction retourne NDIS_STATUS_SUCCESS. Sinon, elle retourne un code d’erreur NDIS_STATUS_Xxx défini dans Ndis.h.
Remarques
L’extension de commutateur extensible peut provenir d’opérations d’envoi de paquets dans le chemin de données du commutateur extensible. Par exemple, l’extension peut envoyer des paquets à n’importe quel port sur le commutateur extensible. Pour plus d’informations sur ce chemin de données, consultez Chemin des données de commutateur extensible Hyper-V.
Une fois que l’extension a appelé NdisAllocateNetBufferList ou NdisAllocateCloneNetBufferList pour créer ou cloner un paquet à partir de son pool de NET_BUFFER_LIST , l’extension doit appeler la fonction AllocateNetBufferListForwardingContext . Cette fonction alloue et initialise le contexte de transfert de commutateur extensible hors bande (OOB) pour la structure de NET_BUFFER_LIST spécifiée. Pour plus d’informations sur ce contexte, consultez Contexte de transfert de commutateur extensible Hyper-V.
L’extension doit suivre ces instructions pour allouer le contexte de transfert via la fonction AllocateNetBufferListForwardingContext :
-
L’extension appelle NdisAllocateNetBufferList pour allouer un paquet du pool de NET_BUFFER_LIST de l’extension pour une opération d’envoi ou de réception sur le commutateur extensible. Avant que l’extension initialise les ports source et de destination du paquet, elle doit appeler AllocateNetBufferListForwardingContext.
Pour plus d’informations sur la spécification des ports de commutateur extensible source et de destination, consultez Gestion des données de source et de port de destination du commutateur extensible Hyper-V.
- Avant que l’extension appelle AllocateNetBufferListForwardingContext, elle doit définir le membre SourceHandle de chaque structure de NET_BUFFER_LIST allouée sur la valeur de handle qui identifie l’extension. L’extension reçoit ce handle via le paramètre NdisFilterHandle quand NDIS appelle la fonction FilterAttach de l’extension.
- Une fois l’opération d’envoi terminée, l’extension doit appeler la fonction FreeNetBufferListForwardingContext pour libérer les ressources du contexte de transfert. L’extension doit appeler cette fonction avant d’appeler NdisFreeNetBufferList pour retourner le paquet à son pool de NET_BUFFER_LIST .
- Si l’extension clone un paquet, elle doit appeler CopyNetBufferListInfo pour copier le contexte de transfert du paquet d’origine vers le paquet cloné. L’extension doit le faire après avoir appelé AllocateNetBufferListForwardingContext.
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
FreeNetBufferListForwardingContext
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour