Export (0) Print
Expand All

FreeAdapterChannel routine

The FreeAdapterChannel routine releases the system DMA controller when a driver has completed all DMA operations necessary to satisfy the current IRP.

Syntax


VOID FreeAdapterChannel(
  _In_  PDMA_ADAPTER DmaAdapter
);

Parameters

DmaAdapter [in]

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

Return value

None

Remarks

FreeAdapterChannel 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.

After a driver has transferred all the data and called FlushAdapterBuffers, it calls FreeAdapterChannel to release the system DMA controller that was previously allocated with a call to AllocateAdapterChannel.

FreeAdapterChannel frees any map registers that were allocated by an earlier call to AllocateAdapterChannel. A driver calls this routine only if its AdapterControl routine returns KeepObject.

Requirements

Version

Available starting with Windows 2000.

Header

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

IRQL

DISPATCH_LEVEL

DDI compliance rules

IrqlDispatch, IrqlDispatch(storport)

See also

DMA_ADAPTER
AllocateAdapterChannel
FlushAdapterBuffers
FreeMapRegisters
IoGetDmaAdapter
MapTransfer
DMA_OPERATIONS

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft