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
現在の転送に関連付けられているバッファーを記述する単一メモリ記述子リスト (MDL) または MDL チェーンへのポインター。最後の転送が完了し、アダプターが解放されている場合は NULL。
[in] Offset
現在の転送が開始される Mdl パラメーターで指定されたバッファーへのバイト オフセット。
[in] Length
現在の転送で転送されるバイト数。
戻り値
EvtDmaTransactionConfigureDmaChannel コールバック関数は、DMA チャネルを正常に構成した場合に TRUE を返します。 このコールバック関数が FALSE を返す場合、フレームワークはトランザクションを停止し、 EvtProgramDma を呼び出しません。
注釈
ドライバーは、 WdfDmaTransactionSetChannelConfigurationCallback を呼び出して EvtDmaTransactionConfigureDmaChannel イベント コールバック関数 を登録します。
フレームワークは、アダプター チャネルを割り当てた後、転送をマッピングして EvtProgramDma を呼び出す前に、トランザクション内のシステム プロファイル DMA 転送ごとに EvtDmaTransactionConfigureDmaChannel を 1 回呼び出します。
ドライバーは、 EvtDmaTransactionConfigureDmaChannel コールバックを使用して、転送をマッピングする前に DMA アダプターのカスタム プログラミングを設定できます。
チャネルの構成中にドライバーでエラーが発生した場合は、 WdfDmaTransactionDmaCompletedFinal を呼び出して DMA 転送を停止し、必要に応じて要求を完了できます。 ドライバーは、このコールバック関数から FALSE を返す必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 |
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.11 |
Header | wdfdmatransaction.h (Wdf.h を含む) |
IRQL | DISPATCH_LEVEL |