共用方式為


EVT_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL回呼函式 (wdfdmatransaction.h)

[僅適用於 KMDF]

驅動程式的 EvtDmaTransactionConfigureDmaChannel 事件回呼函式會設定系統模式 DMA 啟用器的 DMA 配接器。

語法

EVT_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL EvtWdfDmaTransactionConfigureDmaChannel;

BOOLEAN EvtWdfDmaTransactionConfigureDmaChannel(
  [in]           WDFDMATRANSACTION DmaTransaction,
  [in]           WDFDEVICE Device,
  [in]           PVOID Context,
  [in, optional] PMDL Mdl,
  [in]           size_t Offset,
  [in]           size_t Length
)
{...}

參數

[in] DmaTransaction

DMA 交易物件的句柄,表示正在執行的交易。

[in] Device

架構裝置物件的句柄,驅動程式在呼叫 WdfDmaTransactionCreate 時所指定的。

[in] Context

先前呼叫 WdfDmaTransactionSetChannelConfigurationCallback 中所指定驅動程式的內容指標。

[in, optional] Mdl

單一記憶體描述元清單的指標, (MDL) 或 MDL 鏈結,描述與目前傳輸相關聯的緩衝區,如果上次傳輸已完成且已釋放配接器,則為 NULL。

[in] Offset

位元組位移至 Mdl 參數中指定的緩衝區,這是目前傳輸開始的位置。

[in] Length

目前傳輸中傳輸的位元元組數目。

傳回值

如果 EvtDmaTransactionConfigureDmaChannel 回呼函式成功設定 DMA 通道,則會傳回 TRUE。 如果這個回呼函式傳回 FALSE,架構會停止交易,而且不會呼叫 EvtProgramDma

備註

驅動程式藉由呼叫 WdfDmaTransactionSetChannelConfigurationCallback 來註冊 EvtDmaTransactionConfigureDmaChannel 事件回呼函式。

架構會在配置配接器通道之後,但在對應傳輸並呼叫 EvtProgramDma 之前,針對交易中的每個系統配置檔 DMA 傳輸呼叫 EvtDmaTransactionConfigureDma 一次。

驅動程式可以使用 EvtDmaTransactionConfigureDmaChannel 回呼,在對應傳輸之前設定 DMA 配接器的任何自定義程序設計。

如果驅動程式在設定通道時遇到錯誤,它可以藉由呼叫 WdfDmaTransactionDmaCompletedFinal 來停止 DMA 傳輸,並視需要完成要求。 驅動程式接著應該會從這個回呼函式傳回 FALSE。

規格需求

需求
最低支援的用戶端 Windows 8
目標平台 Universal
最低 KMDF 版本 1.11
標頭 wdfdmatransaction.h (包含 Wdf.h)
IRQL DISPATCH_LEVEL

另請參閱

WdfDmaTransactionDmaCompletedFinal

WdfDmaTransactionSetChannelConfigurationCallback