PPUT_SCATTER_GATHER_LIST callback function (wdm.h)
The PutScatterGatherList routine frees the previously allocated map registers and scatter/gather list used in scatter/gather DMA.
Syntax
PPUT_SCATTER_GATHER_LIST PputScatterGatherList;
void PputScatterGatherList(
[in] PDMA_ADAPTER DmaAdapter,
[in] PSCATTER_GATHER_LIST ScatterGather,
[in] BOOLEAN WriteToDevice
)
{...}
Parameters
[in] DmaAdapter
Pointer to the DMA_ADAPTER structure returned by IoGetDmaAdapter that represents the bus-master adapter or DMA controller.
[in] ScatterGather
Pointer to a SCATTER_GATHER_LIST structure previously returned by GetScatterGatherList.
[in] WriteToDevice
Indicates the direction of the DMA transfer: specify TRUE for a transfer from the buffer to the device, and FALSE otherwise.
Return value
None
Remarks
PutScatterGatherList is not a system routine that can be called directly by name. This routine is callable only by pointer from the address returned in a DMA_OPERATIONS structure. Drivers obtain the address of this routine by calling IoGetDmaAdapter.
Drivers should call PutScatterGatherList after completing scatter/gather I/O. This routine flushes the adapter buffers, frees the map registers, and unmaps and frees the associated MDLs. Additionally, the routine frees the scatter/gather list if it was previously allocated by GetScatterGatherList.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available in Windows 2000 and later versions of Windows. Not supported in Windows 98 or Windows Me. |
Target Platform | Desktop |
Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | DISPATCH_LEVEL |
DDI compliance rules | IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm) |