[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 |
ヘッダー | wdfdmatransaction.h (Wdf.h を含む) |
図書館 | Wdf01000.sys (フレームワーク ライブラリのバージョン管理を参照)。 |
IRQL | <=DISPATCH_LEVEL |
DDI コンプライアンス規則 を する | DriverCreate(kmdf) |
こちらもご覧ください
EvtDmaTransactionDmaTransferComplete の