PPUT_SCATTER_GATHER_LIST callback function

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(
  PDMA_ADAPTER DmaAdapter,
  PSCATTER_GATHER_LIST ScatterGather,
  BOOLEAN WriteToDevice
)
{...}

Parameters

DmaAdapter

Pointer to the DMA_ADAPTER structure returned by IoGetDmaAdapter that represents the bus-master adapter or DMA controller.

ScatterGather

Pointer to a SCATTER_GATHER_LIST structure previously returned by GetScatterGatherList.

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

   
Windows Driver kit version
Target platform Desktop
Minimum KMDF version
Minimum UMDF version
Header wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library
IRQL DISPATCH_LEVEL
DDI compliance rules IrqlDispatch, IrqlDispatch(storport)

See Also

DMA_ADAPTER
IoGetDmaAdapter
GetScatterGatherList
DMA_OPERATIONS
SCATTER_GATHER_LIST

Send comments about this topic to Microsoft