次の方法で共有


DMA トランザクションの開始

ドライバーは、DMA トランザクションを作成および初期化した後、WdfDmaTransactionExecute メソッドを呼び出してトランザクションを開始できます。このメソッドは、トランザクションに関連付けられた最初の DMA 転送の scatter/gather リストを作成します。次に、このメソッドは、ドライバーがトランザクションに対して登録した EvtProgramDma コールバック関数を呼び出します。このコールバック関数は、転送を開始するために DMA ハードウェアをプログラミングします。

ドライバーは、WdfDmaTransactionExecute を呼び出す前に、DMA トランザクションのハンドルを保存して、ドライバーがトランザクションに関連付けられた各 DMA 転送を完了したときに、このハンドルを取得できるようにしておく必要があります。トランザクション ハンドルの保存に最も適した場所は、フレームワーク オブジェクト (通常はデバイスのフレームワーク デバイス オブジェクト) のコンテキスト メモリ内です。オブジェクトのコンテキスト メモリを使用する方法の詳細については、「フレームワーク オブジェクトのコンテキスト領域」を参照してください。