次の方法で共有


WdfDmaTransactionInitializeUsingOffset 関数 (wdfdmatransaction.h)

[KMDF にのみ適用]

WdfDmaTransactionInitializeUsingOffset メソッドは、MDL チェーンへのバイト オフセットを使用して、指定された DMA トランザクションを初期化します。

構文

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

DMA トランザクションに使用されるバッファーを記述するメモリ記述子リスト (MDL) へのポインター。 詳細については、「解説」を参照 してください

[in] Offset

現在のトランザクションの MDL チェーンへのバイト オフセット。

[in] Length

転送するバイト数。 これは、0 より大きい値である必要があります。

戻り値

WdfDmaTransactionInitializeUsingOffset は、操作が成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、メソッドは WdfDmaTransactionInitialize の戻り値セクションで説明されている値のいずれかを返す可能性があります。

このメソッドは、他の NTSTATUS 値を返す場合もあります。

ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。

注釈

WdfDmaTransactionInitializeUsingOffsetWdfDmaTransactionInitialize と同じですが、仮想アドレスではなく MDL チェーンによって記述されたバッファーにオフセットが取り込まれます。

ドライバーは、このメソッドの Mdl パラメーターで MDL チェーンを指定できます。 MDL チェーンは、ドライバーが MDL 構造体の Next メンバーを使用して連結された MDL 構造体のシーケンスです。

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.11
Header wdfdmatransaction.h (Wdf.h を含む)
Library Wdf01000.sys (「Framework ライブラリのバージョン管理」を参照)。
IRQL <=DISPATCH_LEVEL
DDI コンプライアンス規則 DriverCreate(kmdf)

こちらもご覧ください

WdfDmaTransactionInitialize