次の方法で共有


WdfDmaTransactionGetTransferInfo 関数 (wdfdmatransaction.h)

[KMDF にのみ適用]

WdfDmaTransactionGetTransferInfo メソッドは、初期化された DMA トランザクションに必要なマップ レジスタと散布/収集リスト エントリの数を返します。

構文

void WdfDmaTransactionGetTransferInfo(
  [in]            WDFDMATRANSACTION DmaTransaction,
  [out, optional] ULONG             *MapRegisterCount,
  [out, optional] ULONG             *ScatterGatherElementCount
);

パラメーター

[in] DmaTransaction

初期化された DMA トランザクション オブジェクトへのハンドル。

[out, optional] MapRegisterCount

呼び出し元が指定した場所で、指定されたトランザクションに必要なマップ レジスタの数が返されます。 このパラメーターは省略可能であり、NULL にすることができます。

[out, optional] ScatterGatherElementCount

呼び出し元が指定した場所。返された場合、指定されたトランザクションに必要な散布/収集要素の数が格納されます。 このパラメーターは省略可能であり、NULL にすることができます。

戻り値

なし

解説

ドライバーは 、WdfDmaTransactionAllocateResources または WdfDmaTransactionExecute を呼び出す前に 、WdfDmaTransactionGetTransferInfo を呼び出す場合があります。

DMA バージョン 3 を使用する場合、このメソッドは、必要なマップ レジスタの数の正確な数を返します。 以前の DMA バージョンを使用する場合、このメソッドは各ページにマップ レジスタが必要であると想定します。

要件

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

こちらもご覧ください

WdfDmaTransactionAllocateResources

WdfDmaTransactionExecute