Поделиться через


функция обратного вызова PFREE_ADAPTER_CHANNEL (wdm.h)

Программа FreeAdapterChannel освобождает системный контроллер DMA, когда драйвер выполнил все операции DMA, необходимые для удовлетворения текущего IRP.

Синтаксис

PFREE_ADAPTER_CHANNEL PfreeAdapterChannel;

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

Параметры

[in] DmaAdapter

Указатель на структуру DMA_ADAPTER, возвращаемую IoGetDmaAdapter, представляющей адаптер шины или контроллер DMA.

Возвращаемое значение

Никакой

Замечания

FreeAdapterChannel не является системной подпрограммой, которая может вызываться непосредственно по имени. Эта подпрограмма вызывается только указателем из адреса, возвращаемого в DMA_OPERATIONS структуре. Драйверы получают адрес этой подпрограммы путем вызова IoGetDmaAdapter.

После передачи всех данных и вызова FlushAdapterBuffersдрайвер вызывает FreeAdapterChannel, чтобы освободить системный контроллер DMA, который ранее был выделен вызовом AllocateAdapterChannel.

FreeAdapterChannel освобождает все регистры карт, выделенные ранее вызовом AllocateAdapterChannel. Драйвер вызывает эту подпрограмму, только если ее подпрограмма AdapterControl возвращает KeepObject.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows 2000.
целевая платформа Настольный
заголовка wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
IRQL DISPATCH_LEVEL
правил соответствия DDI irqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm)

См. также

AllocateAdapterChannel

DMA_ADAPTER

DMA_OPERATIONS

FlushAdapterBuffers

FreeMapRegisters

IoGetDmaAdapter

MapTransfer