共用方式為


WdfDmaTransactionInitializeUsingOffset 函式 (wdfdmatransaction.h)

[僅適用於 KMDF]

WdfDmaTransactionInitializeUsingOffset 方法會使用位元組位移將指定的 DMA 交易初始化為 MDL 鏈結。

語法

NTSTATUS WdfDmaTransactionInitializeUsingOffset(
  [in] WDFDMATRANSACTION   DmaTransaction,
  [in] PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction,
  [in] WDF_DMA_DIRECTION   DmaDirection,
  [in] PMDL                Mdl,
  [in] size_t              Offset,
  [in] size_t              Length
);

參數

[in] DmaTransaction

驅動程式從先前呼叫 WdfDmaTransactionCreate取得的 DMA 交易物件的句柄。

[in] EvtProgramDmaFunction

驅動程式 EvtProgramDma 事件回呼函式的指標。

[in] DmaDirection

WDF_DMA_DIRECTION型別值。

[in] Mdl

記憶體描述項清單 (MDL) 的指標,描述將用於 DMA 交易的緩衝區。 請參閱<中的詳細資訊。

[in] Offset

目前交易之 MDL 鏈結的位元組位移。

[in] Length

要傳輸的位元組數目。 此值必須大於零。

返回值

WdfDmaTransactionInitializeUsingOffset 如果作業成功,就會傳回STATUS_SUCCESS。 否則,方法可能會傳回 WdfDmaTransactionInitialize的 Return values 區段中所述的其中一個值。

此方法也可能 傳回其他NTSTATUS 值。

如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。

備註

WdfDmaTransactionInitializeUsingOffset 相當於 WdfDmaTransactionInitialize,不同之處在於它會將位移放入 MDL 鏈結所描述的緩衝區,而不是虛擬位址。

驅動程式可以在此方法的 Mdl 參數中指定 MDL 鏈結。 MDL 鏈結是一連串的 MDL 結構,驅動程式會使用 MDL 結構的 Next 成員鏈結在一起。

需求

要求 價值
目標平臺 普遍
最低 KMDF 版本 1.11
標題 wdfdmatransaction.h (包括 Wdf.h)
程式庫 Wdf01000.sys (請參閱架構連結庫版本控制。)
IRQL <=DISPATCH_LEVEL
DDI 合規性規則 DriverCreate(kmdf)

另請參閱

WdfDmaTransactionInitialize