Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[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 |
|---|---|
|
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) |