Partager via


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

MiniportInterruptDPC

NDIS Scatter/Collect DMA

NET_BUFFER

NdisMAllocateNetBufferSGList

NdisMRegisterScatterGatherDma