Freigeben über


WdfDmaTransactionRelease-Funktion (wdfdmatransaction.h)

[Gilt nur für KMDF]

Die WdfDmaTransactionRelease Methode beendet eine angegebene DMA-Transaktion, ohne das zugeordnete DMA-Transaktionsobjekt zu löschen.

Syntax

NTSTATUS WdfDmaTransactionRelease(
  [in] WDFDMATRANSACTION DmaTransaction
);

Die Parameter

[in] DmaTransaction

Ein Handle für ein DMA-Transaktionsobjekt, das der Treiber aus einem vorherigen Aufruf von WdfDmaTransactionCreateabgerufen hat.

Rückgabewert

WdfDmaTransactionRelease gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt die Methode möglicherweise den folgenden Wert zurück:

Rückgabecode BESCHREIBUNG
STATUS_INVALID_DEVICE_STATE
Der Treiber hat das Transaktionsobjekt, das vom angegebenen DmaTransaction-Parameter angegeben wurde, bereits freigegeben oder gelöscht.
 

Diese Methode kann auch andere NTSTATUS-Wertezurückgeben.

Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.

Bemerkungen

Die WdfDmaTransactionRelease Methode löscht Transferpuffer und gibt alle Systemressourcen frei, die der DMA-Transaktion zugeordnet sind. Das Transaktionsobjekt wird nicht gelöscht und kann wiederverwendet werden. Weitere Informationen zum Erneuten Verwenden von Transaktionsobjekten finden Sie unter Reusing DMA Transaction Objects.

Wenn WdfDmaTransactionInitializeXxx Erfolg zurückgibt, aber WdfDmaTransactionExecute einen Fehlerwert zurückgibt, muss der Treiber WdfDmaTransactionReleaseaufrufen.

Beispiele

Im folgenden Codebeispiel wird die DMA-Transaktion beendet, die das angegebene DMA-Transaktionsobjekt darstellt, aber das DMA-Transaktionsobjekt wird nicht gelöscht.

NTSTATUS  status;

status = WdfDmaTransactionRelease(dmaTransaction);

Anforderungen

Anforderung Wert
Zielplattform universell
Minimale KMDF-Version 1.0
Kopfzeile wdfdmatransaction.h (include Wdf.h)
Bibliothek Wdf01000.sys (siehe Framework-Bibliotheksversionsverwaltung.)
IRQL <=DISPATCH_LEVEL
DDI-Complianceregeln DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Siehe auch

WdfDmaTransactionCreate