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