EVT_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL コールバック関数 (wdfdmatransaction.h)
[KMDF にのみ適用]
ドライバーの EvtDmaTransactionConfigureDmaChannel イベント コールバック関数は、システム モード DMA イネーブラーの DMA アダプターを構成します。
構文
EVT_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL EvtWdfDmaTransactionConfigureDmaChannel;
BOOLEAN EvtWdfDmaTransactionConfigureDmaChannel(
[in] WDFDMATRANSACTION DmaTransaction,
[in] WDFDEVICE Device,
[in] PVOID Context,
[in, optional] PMDL Mdl,
[in] size_t Offset,
[in] size_t Length
)
{...}
パラメーター
[in] DmaTransaction
実行されているトランザクションを表す DMA トランザクション オブジェクトへのハンドル。
[in] Device
ドライバーが WdfDmaTransactionCreate を呼び出したときに指定フレームワーク デバイス オブジェクトへのハンドル。
[in] Context
WdfDmaTransactionSetChannelConfigurationCallback をする前の呼び出しでドライバーが指定したコンテキスト ポインター。
[in, optional] Mdl
現在の転送に関連付けられているバッファーを記述する 1 つのメモリ記述子リスト (MDL) または MDL チェーンへのポインター。最後の転送が完了し、アダプターが解放されている場合は NULL。
[in] Offset
現在の転送が開始される Mdl パラメーターで指定されたバッファーへのバイト オフセット。
[in] Length
現在の転送で転送されるバイト数。
戻り値
EvtDmaTransactionConfigureDmaChannel コールバック関数は、DMA チャネルを正常に構成した場合に TRUE を返します。 このコールバック関数が FALSE を返す場合、フレームワークはトランザクションを停止し、EvtProgramDma 呼び出しません。
注釈
ドライバーは、WdfDmaTransactionSetChannelConfigurationCallbackを呼び出すことによって、EvtDmaTransactionConfigureDmaChannel イベント コールバック関数を登録します。
フレームワークは、トランザクションでシステム プロファイル DMA 転送ごとに 1 回、EvtDmaTransactionConfigureDmaChannel を呼び出します。その後、アダプター チャネルを割り当てた後、転送をマッピングして EvtProgramDma 呼び出します。
ドライバーは、EvtDmaTransactionConfigureDmaChannel コールバックを使用して、転送をマッピングする前に DMA アダプターのカスタム プログラミングを設定できます。
ドライバーがチャネルの構成中にエラーが発生した場合は、WdfDmaTransactionDmaCompletedFinal 呼び出して DMA 転送を停止し、必要に応じて要求を完了できます。 ドライバーは、このコールバック関数から FALSE を返す必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 8 |
ターゲット プラットフォーム の | 普遍 |
最小 KMDF バージョン | 1.11 |
ヘッダー | wdfdmatransaction.h (Wdf.h を含む) |
IRQL | DISPATCH_LEVEL |