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 |