MINIPORT_RETURN_NET_BUFFER_LISTS fonction de rappel (ndis.h)
NDIS appelle la fonction MiniportReturnNetBufferLists pour renvoyer la propriété des structures de NET_BUFFER_LIST , des structures NET_BUFFER associées et toutes les dll MDL attachées à un pilote miniport.
Syntaxe
MINIPORT_RETURN_NET_BUFFER_LISTS MiniportReturnNetBufferLists;
void MiniportReturnNetBufferLists(
[in] NDIS_HANDLE MiniportAdapterContext,
[in] PNET_BUFFER_LIST NetBufferLists,
[in] ULONG ReturnFlags
)
{...}
Paramètres
[in] MiniportAdapterContext
Handle à une zone de contexte que le pilote miniport a allouée dans sa fonction MiniportInitializeEx . Le pilote miniport utilise cette zone de contexte pour conserver les informations d’état sur une carte.
[in] NetBufferLists
Pointeur vers une liste liée de structures NET_BUFFER_LIST que NDIS retourne au pilote miniport. La liste liée peut contenir NET_BUFFER_LIST structures de plusieurs appels précédents à Fonction NdisMIndicateReceiveNetBufferLists .
[in] ReturnFlags
Indicateurs NDIS pouvant être combinés à une opération OR. Cette fonction prend en charge l’indicateur NDIS_RETURN_FLAGS_DISPATCH_LEVEL qui, s’il est défini, indique que l’IRQL actuel est DISPATCH_LEVEL. Pour plus d’informations sur cet indicateur, consultez Dispatch IRQL Tracking.
Valeur de retour
None
Remarques
MiniportReturnNetBufferLists est une fonction requise pour les pilotes miniport qui indiquent les données réseau reçues avec le Fonction NdisMIndicateReceiveNetBufferLists . Lorsqu’un pilote qui se superpose appelle le NdisReturnNetBufferLists , NDIS appelle la fonction MiniportReturnNetBufferLists du pilote miniport qui a indiqué les structures NET_BUFFER_LIST spécifiées.
MiniportReturnNetBufferLists peut préparer une structure de NET_BUFFER_LIST retournée pour une utilisation dans une indication de réception ultérieure. Bien que MiniportReturnNetBufferLists puisse renvoyer les structures NET_BUFFER_LIST à un pool (par exemple, il peut appeler la fonction NdisFreeNetBufferList ), il peut être plus efficace de réutiliser les structures sans les renvoyer au pool.
NDIS appelle MiniportReturnNetBufferLists à l’adresse IRQL<= DISPATCH_LEVEL.
Exemples
Pour définir une fonction MiniportReturnNetBufferLists , vous devez d’abord fournir une déclaration de fonction qui identifie le type de fonction que vous définissez. Windows fournit un ensemble de types de fonctions pour les pilotes. La déclaration d’une fonction à l’aide des types de fonction permet à l’analyse du code pour les pilotes, le vérificateur de pilotes statique (SDV) et d’autres outils de vérification de trouver les erreurs, et il s’agit d’une exigence pour l’écriture de pilotes pour le système d’exploitation Windows.Par exemple, pour définir une fonction MiniportReturnNetBufferLists nommée « MyReturnNetBufferLists », utilisez le type MINIPORT_RETURN_NET_BUFFER_LISTS comme indiqué dans cet exemple de code :
MINIPORT_RETURN_NET_BUFFER_LISTS MyReturnNetBufferLists;
Ensuite, implémentez votre fonction comme suit :
_Use_decl_annotations_
VOID
MyReturnNetBufferLists(
NDIS_HANDLE MiniportAdapterContext,
PNET_BUFFER_LIST NetBufferLists,
ULONG ReturnFlags
)
{...}
Le type de fonction MINIPORT_RETURN_NET_BUFFER_LISTS est défini dans le fichier d’en-tête Ndis.h. Pour identifier plus précisément les erreurs lors de l’exécution des outils d’analyse du code, veillez à ajouter l’annotation Use_decl_annotations à votre définition de fonction. L’annotation Use_decl_annotations garantit que les annotations appliquées au type de fonction MINIPORT_RETURN_NET_BUFFER_LISTS dans le fichier d’en-tête sont utilisées. Pour plus d’informations sur la configuration requise pour les déclarations de fonction, consultez Déclaration de fonctions à l’aide de types de rôles de fonction pour les pilotes NDIS.
Pour plus d’informations sur Use_decl_annotations, consultez Annotating Function Behavior.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans NDIS 6.0 et versions ultérieures. |
Plateforme cible | Windows |
En-tête | ndis.h (inclure Ndis.h) |
IRQL | <= DISPATCH_LEVEL |
Voir aussi
NdisMIndicateReceiveNetBufferListsCommentaires
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