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 version 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, IrqlDispatch(storport)

See Also

DMA_ADAPTER

DMA_OPERATIONS

GetScatterGatherList

IoGetDmaAdapter

SCATTER_GATHER_LIST