共用方式為


WdfDmaTransactionRelease 函式 (wdfdmatransaction.h)

[僅適用於 KMDF]

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

語法

NTSTATUS WdfDmaTransactionRelease(
  [in] WDFDMATRANSACTION DmaTransaction
);

參數

[in] DmaTransaction

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

返回值

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

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

此方法也可能 傳回其他NTSTATUS 值。

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

備註

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

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

範例

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

NTSTATUS  status;

status = WdfDmaTransactionRelease(dmaTransaction);

需求

要求 價值
目標平臺 普遍
最低 KMDF 版本 1.0
標題 wdfdmatransaction.h (包括 Wdf.h)
程式庫 Wdf01000.sys (請參閱架構連結庫版本控制。)
IRQL <=DISPATCH_LEVEL
DDI 合規性規則 DriverCreate(kmdf)KmdfIrql(kmdf)KmdfIrql2(kmdf),KmdfIrqlExplicit(kmdf)

另請參閱

WdfDmaTransactionCreate