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
);

Parameter

[in] DmaTransaction

Ein Handle für ein DMA-Transaktionsobjekt, das der Treiber aus einem vorherigen Aufruf von WdfDmaTransactionCreate abgerufen 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 DmaTransaction-Parameter angegeben wurde, bereits freigegeben oder gelöscht.
 

Diese Methode kann auch andere NTSTATUS-Werte zurückgeben.

Eine Fehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.

Hinweise

Die WdfDmaTransactionRelease-Methode leert Übertragungspuffer und gibt alle Systemressourcen frei, die der DMA-Transaktion zugeordnet sind. Das Transaktionsobjekt wird nicht gelöscht und kann wiederverwendet werden. Weitere Informationen zur Wiederverwendung von Transaktionsobjekten finden Sie unter Wiederverwenden von DMA-Transaktionsobjekten.

Wenn WdfDmaTransactionInitializeXxx erfolgreich zurückgibt, WdfDmaTransactionExecute jedoch einen Fehlerwert zurückgibt, muss Ihr Treiber WdfDmaTransactionRelease aufrufen.

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
KMDF-Mindestversion 1.0
Kopfzeile wdfdmatransaction.h (include Wdf.h)
Bibliothek Wdf01000.sys (siehe Versionsverwaltung der Frameworkbibliothek).)
IRQL <=DISPATCH_LEVEL
DDI-Complianceregeln DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Weitere Informationen

WdfDmaTransactionCreate