EVT_WDF_PROGRAM_DMA コールバック関数 (wdfdmatransaction.h)
[KMDF にのみ適用]
フレームワーク ベースのドライバーの EvtProgramDma イベント コールバック関数は、DMA 転送操作を実行するように指定されたデバイスをプログラムします。
構文
EVT_WDF_PROGRAM_DMA EvtWdfProgramDma;
BOOLEAN EvtWdfProgramDma(
[in] WDFDMATRANSACTION Transaction,
[in] WDFDEVICE Device,
[in] WDFCONTEXT Context,
[in] WDF_DMA_DIRECTION Direction,
[in] PSCATTER_GATHER_LIST SgList
)
{...}
パラメーター
[in] Transaction
現在の DMA トランザクションを表す DMA トランザクション オブジェクトへのハンドル。
[in] Device
フレームワーク デバイス オブジェクトへのハンドル。
[in] Context
WdfDmaTransactionExecute の以前の呼び出しでドライバーが指定したコンテキスト ポインター。
[in] Direction
DMA 転送 操作の方向を指定するWDF_DMA_DIRECTION型指定された値。
[in] SgList
SCATTER_GATHER_LIST構造体へのポインター。
戻り値
EvtProgramDma コールバック関数は、DMA 転送操作が正常に開始された場合に TRUE を返す必要があります。 それ以外の場合、このコールバック関数は FALSE を返す必要があります。 ただし、フレームワークは現在、戻り値を無視しています。
注釈
ドライバーは、WdfDmaTransactionInitializeUsingRequest または WdfDmaTransactionInitialize を呼び出して、EvtProgramDma イベント コールバック関数を登録します。
DMA 転送が使用可能な場合、フレームワークはドライバーの EvtProgramDma イベント コールバック関数を呼び出します。 コールバック関数は、転送を開始するためにハードウェアをプログラムする必要があります。
ドライバーは、 WdfDmaTransactionDmaCompletedXxx が TRUE を返すまで、トランザクションに関連付けられているデータ バッファーを操作することはできません。
単一パケット転送の場合、 SgList パラメーターが指す散布/収集リストに 1 つの要素が含まれます。
このコールバック関数の詳細については、「 DMA ハードウェアのプログラミング」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.0 |
Header | wdfdmatransaction.h (Wdf.h を含む) |
IRQL | DISPATCH_LEVEL |