WdfDmaTransactionRelease 関数 (wdfdmatransaction.h)
[KMDF にのみ適用]
WdfDmaTransactionRelease メソッドは、関連付けられている DMA トランザクション オブジェクトを削除せずに、指定された DMA トランザクションを終了します。
構文
NTSTATUS WdfDmaTransactionRelease(
[in] WDFDMATRANSACTION DmaTransaction
);
パラメーター
[in] DmaTransaction
ドライバーが WdfDmaTransactionCreate の以前の呼び出しから取得した DMA トランザクション オブジェクトへのハンドル。
戻り値
操作が成功した場合、WdfDmaTransactionRelease はSTATUS_SUCCESSを返します。 それ以外の場合、メソッドは次の値を返す可能性があります。
リターン コード | 説明 |
---|---|
|
ドライバーは、 DmaTransaction パラメーターが指定したトランザクション オブジェクトを既に解放または削除しています。 |
このメソッドは、他の NTSTATUS 値を返す場合もあります。
ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。
注釈
WdfDmaTransactionRelease メソッドは、転送バッファーをフラッシュし、DMA トランザクションに関連付けられているすべてのシステム リソースを解放します。 トランザクション オブジェクトは削除されず、再利用できます。 トランザクション オブジェクトの再利用の詳細については、「 DMA トランザクション オブジェクトの再利用」を参照してください。
WdfDmaTransactionInitializeXxx が成功を返し、WdfDmaTransactionExecute がエラー値を返す場合、ドライバーは WdfDmaTransactionRelease を呼び出す必要があります。
例
次のコード例では、指定した DMA トランザクション オブジェクトが表す DMA トランザクションを終了しますが、DMA トランザクション オブジェクトは削除しません。
NTSTATUS status;
status = WdfDmaTransactionRelease(dmaTransaction);
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.0 |
Header | wdfdmatransaction.h (Wdf.h を含む) |
Library | Wdf01000.sys (「Framework ライブラリのバージョン管理」を参照)。 |
IRQL | <=DISPATCH_LEVEL |
DDI コンプライアンス規則 | DriverCreate(kmdf)、 KmdfIrql(kmdf)、 KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf) |