WdfDmaTransactionInitializeUsingOffset-Funktion (wdfdmatransaction.h)

[Gilt nur für KMDF]

Die WdfDmaTransactionInitializeUsingOffset-Methode initialisiert eine angegebene DMA-Transaktion mithilfe eines Byteoffsets in einer MDL-Kette.

Syntax

NTSTATUS WdfDmaTransactionInitializeUsingOffset(
  [in] WDFDMATRANSACTION   DmaTransaction,
  [in] PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction,
  [in] WDF_DMA_DIRECTION   DmaDirection,
  [in] PMDL                Mdl,
  [in] size_t              Offset,
  [in] size_t              Length
);

Parameter

[in] DmaTransaction

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

[in] EvtProgramDmaFunction

Ein Zeiger auf die EvtProgramDma-Ereignisrückruffunktion des Treibers.

[in] DmaDirection

Ein WDF_DMA_DIRECTION typisierter Wert.

[in] Mdl

Ein Zeiger auf eine Speicherdeskriptorliste (Memory Descriptor List, MDL), der den Puffer beschreibt, der für die DMA-Transaktion verwendet wird. Weitere Informationen finden Sie unter Hinweise.

[in] Offset

Der Byteoffset in der MDL-Kette für die aktuelle Transaktion.

[in] Length

Die Anzahl der zu übertragenden Bytes. Dieser Wert muss größer als 0 sein.

Rückgabewert

WdfDmaTransactionInitializeUsingOffset gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt die Methode möglicherweise einen der im Abschnitt Rückgabewerte von WdfDmaTransactionInitialize beschriebenen Werte zurück.

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

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

Hinweise

WdfDmaTransactionInitializeUsingOffset entspricht WdfDmaTransactionInitialize , mit der Ausnahme, dass es anstelle einer virtuellen Adresse einen Offset in den puffer einnimmt, der von der MDL-Kette beschrieben wird.

Der Treiber kann eine MDL-Kette im Mdl-Parameter dieser Methode angeben. Eine MDL-Kette ist eine Sequenz von MDL-Strukturen, die der Treiber mithilfe des Nächsten Elements der MDL-Struktur verkettet hat.

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.11
Kopfzeile wdfdmatransaction.h (einschließen von Wdf.h)
Bibliothek Wdf01000.sys (siehe Versionierung der Frameworkbibliothek.)
IRQL <=DISPATCH_LEVEL
DDI-Complianceregeln DriverCreate(kmdf)

Weitere Informationen

WdfDmaTransactionInitialize