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) |