WdfDmaTransactionSetTransferCompleteCallback 関数 (wdfdmatransaction.h)
[KMDF にのみ適用]
WdfDmaTransactionSetTransferCompleteCallback メソッドは、システム モード DMA トランザクションの転送完了イベント コールバック関数を登録します。
構文
void WdfDmaTransactionSetTransferCompleteCallback(
[in] WDFDMATRANSACTION DmaTransaction,
[in, optional] PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE DmaCompletionRoutine,
[in, optional] PVOID DmaCompletionContext
);
パラメーター
[in] DmaTransaction
転送完了コールバックを設定またはクリアする、初期化された DMA トランザクション オブジェクトへのハンドル。
[in, optional] DmaCompletionRoutine
ドライバーの EvtDmaTransactionDmaTransferComplete イベント コールバック関数へのポインター。以前に設定されたコールバック関数をクリアする場合は NULL。
[in, optional] DmaCompletionContext
ドライバーの EvtDmaTransactionDmaTransferComplete イベント コールバック関数に提供されるドライバー指定のコンテキストを含むバッファーへのポインター。NULL。
戻り値
なし
解説
ドライバーは、システム DMA コントローラーが転送を完了した後、フレームワークが呼び出す完了ルーチンを設定するには、このメソッドを呼び出します。 フレームワークは、トランザクション内の転送ごとにドライバーの EvtDmaTransactionDmaTransferComplete コールバックを 1 回呼び出します。
通常、 I/O キュー イベント コールバック関数内から、ドライバーは次の手順をこの順序で実行します。
- トランザクション オブジェクトを初期化するには、 WdfDmaTransactionInitializeUsingRequest、 WdfDmaTransactionInitialize、または WdfDmaTransactionInitializeUsingOffset を 呼び出します。
- トランザクション オブジェクトで WdfDmaTransactionSetTransferCompleteCallback を呼び出します。
- WdfDmaTransactionExecute を呼び出します。
WdfDmaTransactionSetTransferCompleteCallback は、システム モード DMA プロファイルを指定する DMA イネーブラーでのみ使用できます。
ドライバーがWindows 8より前のオペレーティング システムでこのメソッドを呼び出すと、フレームワークの検証ツールによってエラーが報告されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 |
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.11 |
Header | wdfdmatransaction.h (Wdf.h を含む) |
Library | Wdf01000.sys (「Framework ライブラリのバージョン管理」を参照)。 |
IRQL | <=DISPATCH_LEVEL |
DDI コンプライアンス規則 | DriverCreate(kmdf) |