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 成員鏈結在一起。

規格需求

需求
目標平台 Universal
最低 KMDF 版本 1.11
標頭 wdfdmatransaction.h (包含 Wdf.h)
程式庫 Wdf01000.sys (請參閱 Framework Library Versioning.)
IRQL <=DISPATCH_LEVEL
DDI 合規性規則 DriverCreate (kmdf)

另請參閱

WdfDmaTransactionInitialize