EVT_WDF_RESERVE_DMA回调函数 (wdfdmatransaction.h)

[仅适用于 KMDF]

当框架具有要执行和释放事务的保留资源时,将调用 EvtReserveDma 事件回调函数。 保留的资源包括映射寄存器和 WDM DMA 适配器的锁。

语法

EVT_WDF_RESERVE_DMA EvtWdfReserveDma;

void EvtWdfReserveDma(
  [in] WDFDMATRANSACTION DmaTransaction,
  [in] PVOID Context
)
{...}

参数

[in] DmaTransaction

表示 DMA 资源分配到的事务的 DMA 事务对象的句柄。

[in] Context

驱动程序在上一次调用 WdfDmaTransactionAllocateResources 中指定的上下文指针。

返回值

备注

驱动程序通过调用 WdfDmaTransactionAllocateResources 注册 EvtReserveDma 事件回调函数。

当已分配 DMA 资源供关联事务对象独占使用时,框架会调用驱动程序的 EvtReserveDma 事件回调函数。 驱动程序可以在保留此预留时多次初始化和执行事务。

驱动程序通常初始化事务,然后从其 EvtReserveDma 事件回调函数中启动事务。 有关预留顺序的详细信息,请参阅 预留 DMA 资源

驱动程序可以从 EvtReserveDma 内部调用 WdfDmaTransactionFreeResources

在早于 Windows 8 的操作系统上,必须将 EvtReserveDma 与指定数据包模式 DMA 启用器的启用程序一起使用。 从 Windows 8 开始,EvtReserveDma 还可以与指定系统模式 DMA 启用器的启用程序一起使用。

要求

要求
目标平台 通用
最低 KMDF 版本 1.11
标头 wdfdmatransaction.h (包括 Wdf.h)
IRQL DISPATCH_LEVEL

另请参阅

WdfDmaTransactionAllocateResources

WdfDmaTransactionFreeResources