次の方法で共有


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

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

戻り値

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

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

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

注釈

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

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

必要条件

要件 価値
ターゲット プラットフォーム 普遍
最小 KMDF バージョン 1.11
ヘッダー wdfdmatransaction.h (Wdf.h を含む)
図書館 Wdf01000.sys (フレームワーク ライブラリのバージョン管理を参照)。
IRQL <=DISPATCH_LEVEL
DDI コンプライアンス規則 する DriverCreate(kmdf)

こちらもご覧ください

WdfDmaTransactionInitialize