WdfDmaTransactionSetChannelConfigurationCallback 函数 (wdfdmatransaction.h)

[仅适用于 KMDF]

WdfDmaTransactionSetChannelConfigurationCallback 方法为系统模式 DMA 事务注册通道配置事件回调函数。

语法

void WdfDmaTransactionSetChannelConfigurationCallback(
  [in]           WDFDMATRANSACTION                             DmaTransaction,
  [in, optional] PFN_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL ConfigureRoutine,
  [in, optional] PVOID                                         ConfigureContext
);

参数

[in] DmaTransaction

要为其设置或清除通道配置回调的已初始化 DMA 事务对象的句柄。

[in, optional] ConfigureRoutine

指向驱动程序的 EvtDmaTransactionConfigureDmaChannel 事件回调函数的指针,或 NULL 以清除它。

[in, optional] ConfigureContext

指向缓冲区的指针,该缓冲区包含要提供给驱动程序的 EvtDmaTransactionConfigureDmaChannel 事件回调函数的上下文,或 NULL。

返回值

备注

此方法允许驱动程序在对系统 DMA 控制器进行编程之前自定义适配器配置。

驱动程序通常从 I/O 队列事件回调函数中按以下顺序执行以下步骤:

  1. 调用 WdfDmaTransactionInitializeUsingRequestWdfDmaTransactionInitializeWdfDmaTransactionInitializeUsingOffset 来初始化事务对象。
  2. 在事务对象上调用 WdfDmaTransactionSetChannelConfigurationCallback
  3. 调用 WdfDmaTransactionExecute
如果驱动程序已通过调用 WdfDmaTransactionSetChannelConfigurationCallback 指定了 EvtDmaTransactionConfigureDmaChannel 事件回调函数,并且驱动程序随后调用 WdfDmaTransactionRelease,则会清除回调。

WdfDmaTransactionSetChannelConfigurationCallback 必须与指定系统模式 DMA 配置文件的 DMA 启用程序一起使用。

如果驱动程序在早于 Windows 8 的操作系统上调用此方法,框架的验证程序将报告错误。

要求

要求
最低受支持的客户端 Windows 8
目标平台 通用
最低 KMDF 版本 1.11
标头 wdfdmatransaction.h (包括 Wdf.h)
Library Wdf01000.sys (请参阅框架库版本控制.)
IRQL <=DISPATCH_LEVEL
DDI 符合性规则 DriverCreate (kmdf)

另请参阅

EvtDmaTransactionConfigureDmaChannel

WdfDmaTransactionRelease