Bus-master miniport drivers call the NdisMFreeNetBufferSGList function to free scatter/gather list resources that were allocated by calling the NdisMAllocateNetBufferSGList function.
VOID NdisMFreeNetBufferSGList( _In_ NDIS_HANDLE NdisMiniportDmaHandle, _In_ PSCATTER_GATHER_LIST pSGL, _In_ PNET_BUFFER NetBuffer );
- NdisMiniportDmaHandle [in]
A handle to a context area that NDIS uses to manage a DMA resource. The caller obtained this handle by calling the NdisMRegisterScatterGatherDma function.
- pSGL [in]
A pointer to a miniport driver scatter/gather list buffer.
- NetBuffer [in]
A pointer to the NET_BUFFER structure associated with the specified scatter/gather list buffer.
Bus-master miniport drivers must call the NdisMFreeNetBufferSGList function to free a scatter/gather list. A miniport driver typically calls NdisMFreeNetBufferSGList from its MiniportInterruptDPC function while it is handling a send complete interrupt or at any time that the driver no longer requires the scatter/gather list. Do not call NdisMFreeNetBufferSGList while the driver or hardware is still accessing the memory that is described by the NET_BUFFER structure that is associated with the scatter/gather list.
Miniport drivers can free the buffer that was specified in the ScatterGatherListBuffer parameter of the NdisMAllocateNetBufferSGList function after NdisMFreeNetBufferSGList returns.
Before accessing received data, miniport drivers must call NdisMFreeNetBufferSGList to flush the memory cache.
|Supported in NDIS 6.0 and later.|
DDI compliance rules
- Allocating and Freeing Scatter/Gather Lists
- Miniport Driver Scatter/Gather DMA
- NDIS Scatter/Gather DMA
- Registering and Deregistering DMA Channels