NdisMFreeNetBufferSGList-Funktion (ndis.h)
Vorsicht
Für ARM- und ARM64-Prozessoren empfehlen wir dringend, dass NDIS-Treiberautoren WDF DMA oder WDM DMA anstelle von NDIS Scatter/Gather DMA verwenden.
Weitere Informationen zu WDF DMA finden Sie unter Behandeln von DMA-Vorgängen in KMDF Drivers.
Weitere Informationen zu WDM DMA finden Sie in den DMA-bezogenen untergeordneten Themen Managing Input/Output for Drivers.
Busmaster-Miniporttreiber rufen die NdisMFreeNetBufferSGList Funktion auf, um XY/Gather-Listenressourcen freizugeben, die durch Aufrufen der NdisMAllocateNetBufferSGList Funktion.
Syntax
void NdisMFreeNetBufferSGList(
[in] NDIS_HANDLE NdisMiniportDmaHandle,
[in] PSCATTER_GATHER_LIST pSGL,
[in] PNET_BUFFER NetBuffer
);
Parameter
[in] NdisMiniportDmaHandle
Ein Handle zu einem Kontextbereich, den NDIS zum Verwalten einer DMA-Ressource verwendet. Der Aufrufer hat dieses Handle durch Aufrufen des NdisMRegisterScatterGatherDma Funktion.
[in] pSGL
Ein Zeiger auf einen Punkt-/Sammellistenpuffer für Miniporttreiber.
[in] NetBuffer
Ein Zeiger auf die NET_BUFFER Struktur, die dem angegebenen Punkt/Gather-Listenpuffer zugeordnet ist.
Rückgabewert
Nichts
Bemerkungen
Busmaster-Miniporttreiber müssen die NdisMFreeNetBufferSGList Funktion aufrufen, um eine Punkt/Sammelliste freizuschalten. Ein Miniporttreiber ruft in der Regel NdisMFreeNetBufferSGList- von der MiniportInterruptDPC--Funktion auf, während ein Sendevorgang vollständig unterbrochen wird oder zu jedem Zeitpunkt, zu dem der Treiber die Punkt/Gather-Liste nicht mehr benötigt. Rufen Sie nicht NdisMFreeNetBufferSGList- auf, während der Treiber oder die Hardware weiterhin auf den Speicher zugreift, der durch die NET_BUFFER Struktur beschrieben wird, die der Punkt/Gather-Liste zugeordnet ist.
Miniport-Treiber können den Puffer freigeben, der im ScatterGatherListBuffer Parameter des NdisMAllocateNetBufferSGList Funktion angegeben wurde, nachdem NdisMFreeNetBufferSGList zurückgegeben wurde.
Vor dem Zugriff auf empfangene Daten müssen Miniporttreiber NdisMFreeNetBufferSGList- aufrufen, um den Speichercache zu leeren.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Unterstützt in NDIS 6.0 und höher. |
Zielplattform- | Universal |
Header- | ndis.h (include Ndis.h) |
Library | Ndis.lib |
IRQL- | DISPATCH_LEVEL |
DDI-Complianceregeln | Irql_Gather_DMA_Function(ndis) |