Export (0) Print
Expand All

PutScatterGatherList routine

The PutScatterGatherList routine frees the previously allocated map registers and scatter/gather list used in scatter/gather DMA.

Syntax


VOID PutScatterGatherList(
  _In_  PDMA_ADAPTER DmaAdapter,
  _In_  PSCATTER_GATHER_LIST ScatterGather,
  _In_  BOOLEAN WriteToDevice
);

Parameters

DmaAdapter [in]

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

ScatterGather [in]

Pointer to a SCATTER_GATHER_LIST structure previously returned by GetScatterGatherList.

WriteToDevice [in]

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

Version

Available in Windows 2000 and later versions of Windows. Not supported in Windows 98 or Windows Me.

Header

Ntddk.h (include Wdm.h, Ntddk.h, or Ntifs.h)

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

Show:
© 2014 Microsoft