WdfDmaTransactionCreate-Funktion (wdfdmatransaction.h)
[Gilt nur für KMDF]
Die WdfDmaTransactionCreate-Methode erstellt eine DMA-Transaktion.
Syntax
NTSTATUS WdfDmaTransactionCreate(
[in] WDFDMAENABLER DmaEnabler,
[in, optional] PWDF_OBJECT_ATTRIBUTES Attributes,
[out] WDFDMATRANSACTION *DmaTransaction
);
Parameter
[in] DmaEnabler
Ein Handle für ein DMA-Enabler-Objekt, das der Treiber von einem vorherigen Aufruf von WdfDmaEnablerCreate abgerufen hat.
[in, optional] Attributes
Ein Zeiger auf eine WDF_OBJECT_ATTRIBUTES-Struktur , die Objektattribute für das neue DMA-Transaktionsobjekt angibt. (Das ParentObject-Element der Struktur muss NULL sein.) Dieser Parameter ist optional und kann WDF_NO_OBJECT_ATTRIBUTES werden.
[out] DmaTransaction
Ein Handle für ein DMA-Transaktionsobjekt.
Rückgabewert
WdfDmaTransactionCreate gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Methode möglicherweise einen der folgenden Werte zurück:
Rückgabecode | Beschreibung |
---|---|
|
Ein ungültiger Parameter wurde erkannt. |
|
Es war nicht genügend Arbeitsspeicher vorhanden, um ein neues DMA-Transaktionsobjekt zu erstellen. |
Eine Liste mit anderen Rückgabewerten, die von der WdfDmaTransactionCreate-Methode möglicherweise zurückgegeben werden, finden Sie unter Fehler beim Erstellen von Frameworkobjekten.
Diese Methode kann auch andere NTSTATUS-Werte zurückgeben.
Eine Fehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.
Hinweise
Nachdem Ihr Treiber WdfDmaTransactionCreate aufgerufen hat, muss er WdfDmaTransactionInitialize oder WdfDmaTransactionInitializeUsingRequest aufrufen, bevor er WdfDmaTransactionExecute aufruft.
Das angegebene DMA-Enabler-Objekt wird übergeordnetes Objekt des neuen DMA-Transaktionsobjekts. Der Treiber kann dieses übergeordnete Element nicht ändern, und das ParentObject-Element oder die WDF_OBJECT_ATTRIBUTES-Struktur muss NULL sein.
Weitere Informationen zu DMA-Transaktionen finden Sie unter Erstellen und Initialisieren einer DMA-Transaktion.
Beispiele
Ein Codebeispiel, das WdfDmaTransactionCreate verwendet, finden Sie unter WdfDmaTransactionExecute.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
KMDF-Mindestversion | 1.0 |
Kopfzeile | wdfdmatransaction.h (einschließen von Wdf.h) |
Bibliothek | Wdf01000.sys (siehe Versionierung der Frameworkbibliothek.) |
IRQL | <=DISPATCH_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |