共用方式為


wdfDmaTransactionRelease 函式 (wdfdmatransaction.h)

[僅適用於 KMDF]

WdfDmaTransactionRelease 方法會終止指定的 DMA 交易,而不刪除相關聯的 DMA 交易物件。

語法

NTSTATUS WdfDmaTransactionRelease(
  [in] WDFDMATRANSACTION DmaTransaction
);

參數

[in] DmaTransaction

驅動程式從先前呼叫 WdfDmaTransactionCreate 取得的 DMA 交易物件的句柄。

傳回值

如果作業成功,WdfDmaTransactionRelease 會傳回STATUS_SUCCESS。 否則,方法可能會傳回下列值:

傳回碼 Description
STATUS_INVALID_DEVICE_STATE
驅動程式已釋放或刪除 DmaTransaction 參數指定的交易物件。
 

這個方法也可能傳回其他 NTSTATUS值

如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。

備註

WdfDmaTransactionRelease 方法會清除傳輸緩衝區,並釋放與 DMA 交易相關聯的所有系統資源。 不會刪除交易物件,而且可以重複使用。 如需重複使用交易對象的詳細資訊,請參閱 重複使用 DMA 交易物件

如果 WdfDmaTransactionInitializeXxx 傳回成功,但 WdfDmaTransactionExecute 會傳回錯誤值,則驅動程式必須呼叫 WdfDmaTransactionRelease

範例

下列程式代碼範例會終止指定的 DMA 交易物件所代表的 DMA 交易,但不會刪除 DMA 交易物件。

NTSTATUS  status;

status = WdfDmaTransactionRelease(dmaTransaction);

規格需求

需求
目標平台 Universal
最低 KMDF 版本 1.0
標頭 wdfdmatransaction.h (包含 Wdf.h)
程式庫 Wdf01000.sys (請參閱 Framework Library Versioning.)
IRQL <=DISPATCH_LEVEL
DDI 合規性規則 DriverCreate (kmdf) KmdfIrql (kmdf) KmdfIrql2 (kmdf) 、 KmdfIrqlExplicit (kmdf)

另請參閱

WdfDmaTransactionCreate