WdfDmaTransactionSetTransferCompleteCallback 函数 (wdfdmatransaction.h)
[仅适用于 KMDF]
WdfDmaTransactionSetTransferCompleteCallback 方法为系统模式 DMA 事务注册传输完成事件回调函数。
语法
void WdfDmaTransactionSetTransferCompleteCallback(
[in] WDFDMATRANSACTION DmaTransaction,
[in, optional] PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE DmaCompletionRoutine,
[in, optional] PVOID DmaCompletionContext
);
参数
[in] DmaTransaction
要为其设置或清除传输完成回调的已初始化 DMA 事务对象的句柄。
[in, optional] DmaCompletionRoutine
指向驱动程序的 EvtDmaTransactionDmaTransferComplete 事件回调函数的指针,或 NULL,用于清除以前设置的回调函数。
[in, optional] DmaCompletionContext
指向缓冲区的指针,该缓冲区包含要提供给驱动程序的 EvtDmaTransactionDmaTransferComplete 事件回调函数的驱动程序指定上下文,或 NULL。
返回值
无
备注
驱动程序调用此方法以设置框架在系统 DMA 控制器完成传输后调用的完成例程。 框架对事务中的每个传输调用驱动程序的 EvtDmaTransactionDmaTransferComplete 回调一次。
驱动程序通常从 I/O 队列事件回调函数中按以下顺序执行以下步骤:
- 调用 WdfDmaTransactionInitializeUsingRequest、 WdfDmaTransactionInitialize 或 WdfDmaTransactionInitializeUsingOffset 来初始化事务对象。
- 对事务对象调用 WdfDmaTransactionSetTransferCompleteCallback 。
- 调用 WdfDmaTransactionExecute。
WdfDmaTransactionSetTransferCompleteCallback 只能与指定系统模式 DMA 配置文件的 DMA 启用程序一起使用。
如果驱动程序在早于 Windows 8 的操作系统上调用此方法,则框架的验证程序会报告错误。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8 |
目标平台 | 通用 |
最低 KMDF 版本 | 1.11 |
标头 | wdfdmatransaction.h (包括 Wdf.h) |
Library | Wdf01000.sys (请参阅框架库 Versioning.) |
IRQL | <=DISPATCH_LEVEL |
DDI 符合性规则 | DriverCreate (kmdf) |