Fonction NdisMFreeNetBufferSGList (ndis.h)
Attention
Pour les processeurs ARM et ARM64, nous recommandons vivement que les enregistreurs de pilotes NDIS utilisent WDF DMA ou WDM DMA au lieu de NDIS Scatter/Gather DMA.
Pour plus d’informations sur WDF DMA, consultez Gestion des opérations DMA dans les pilotes KMDF.
Pour plus d’informations sur WDM DMA, consultez les rubriques enfants relatives à DMA de La gestion des entrées/sorties pour les pilotes.
Les pilotes miniport master bus appellent la fonction NdisMFreeNetBufferSGList pour libérer les ressources de liste de points/de regroupement qui ont été allouées en appelant le Fonction NdisMAllocateNetBufferSGList .
Syntaxe
void NdisMFreeNetBufferSGList(
[in] NDIS_HANDLE NdisMiniportDmaHandle,
[in] PSCATTER_GATHER_LIST pSGL,
[in] PNET_BUFFER NetBuffer
);
Paramètres
[in] NdisMiniportDmaHandle
Handle dans une zone de contexte que NDIS utilise pour gérer une ressource DMA. L’appelant a obtenu ce handle en appelant le Fonction NdisMRegisterScatterGatherDma .
[in] pSGL
Pointeur vers une mémoire tampon de liste de points/regroupement de pilotes miniports.
[in] NetBuffer
Pointeur vers la structure NET_BUFFER associée à la mémoire tampon de liste de points/regroupement spécifiée.
Valeur de retour
None
Remarques
Les pilotes miniport master bus doivent appeler la fonction NdisMFreeNetBufferSGList pour libérer une liste de points/regroupements. Un pilote miniport appelle généralement NdisMFreeNetBufferSGList à partir de sa fonction MiniportInterruptDPC alors qu’il gère une interruption d’envoi complète ou à tout moment que le pilote n’a plus besoin de la liste de points/regroupements. N’appelez pas NdisMFreeNetBufferSGList tant que le pilote ou le matériel accède toujours à la mémoire décrite par la structure NET_BUFFER associée à la liste de points/regroupements.
Les pilotes Miniport peuvent libérer la mémoire tampon spécifiée dans le paramètre ScatterGatherListBuffer de la fonction NdisMAllocateNetBufferSGList après le retour de NdisMFreeNetBufferSGList .
Avant d’accéder aux données reçues, les pilotes miniport doivent appeler NdisMFreeNetBufferSGList pour vider le cache de mémoire.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans NDIS 6.0 et versions ultérieures. |
Plateforme cible | Universal |
En-tête | ndis.h (inclure Ndis.h) |
Bibliothèque | Ndis.lib |
IRQL | DISPATCH_LEVEL |
Règles de conformité DDI | Irql_Gather_DMA_Function(ndis) |
Voir aussi
NdisMRegisterScatterGatherDmaCommentaires
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