FreeAdapterChannel 例程在驱动程序完成满足当前 IRP 所需的所有 DMA作后,将释放系统 DMA 控制器。
语法
PFREE_ADAPTER_CHANNEL PfreeAdapterChannel;
void PfreeAdapterChannel(
[in] PDMA_ADAPTER DmaAdapter
)
{...}
参数
[in] DmaAdapter
指向 IoGetDmaAdapter 返回的 DMA_ADAPTER 结构的指针,该结构表示总线主适配器或 DMA 控制器。
返回值
没有
言论
FreeAdapterChannel 不是可以直接按名称调用的系统例程。 此例程只能通过从 DMA_OPERATIONS 结构中返回的地址的指针进行调用。 驱动程序通过调用 IoGetDmaAdapter获取此例程的地址。
驱动程序传输所有数据并调用 FlushAdapterBuffers后,它会调用 FreeAdapterChannel,以释放以前通过调用 AllocateAdapterChannel分配的系统 DMA 控制器。
FreeAdapterChannel 释放先前 调用 allocateAdapterChannel分配的任何映射寄存器。 仅当驱动程序 AdapterControl 例程返回 keepObject 时,驱动程序才会调用此例程。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows 2000 开始可用。 |
目标平台 | 桌面 |
标头 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
IRQL | DISPATCH_LEVEL |
DDI 符合性规则 | IrqlDispatch(storport)、IrqlDispatch(storport)、IrqlDispatch(wdm) |