PFREE_ADAPTER_CHANNEL - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// wdm.h

PFREE_ADAPTER_CHANNEL PfreeAdapterChannel;

VOID PfreeAdapterChannel(
  [in] PDMA_ADAPTER DmaAdapter
)
{...}

View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nc-wdm-pfree_adapter_channel)

PFREE_ADAPTER_CHANNEL callback function

Description

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

Parameters

DmaAdapter [in]

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

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.

See also

AllocateAdapterChannel

DMA_ADAPTER

DMA_OPERATIONS

FlushAdapterBuffers

FreeMapRegisters

IoGetDmaAdapter

MapTransfer