Freigeben über


WdfDmaTransactionSetMaximumLength-Funktion (wdfdmatransaction.h)

[Gilt nur für KMDF]

Die WdfDmaTransactionSetMaximumLength-Methode legt die maximale Länge für die DMA-Übertragungen fest, die einer angegebenen DMA-Transaktion zugeordnet sind.

Syntax

void WdfDmaTransactionSetMaximumLength(
  [in] WDFDMATRANSACTION DmaTransaction,
  [in] size_t            MaximumLength
);

Parameter

[in] DmaTransaction

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

[in] MaximumLength

Die maximale Größe in Bytes, die das Gerät in einem einzelnen DMA-Übertragungsvorgang verarbeiten kann. Wenn Ihr Treiber unter Versionen der Microsoft Windows-Betriebssysteme ausgeführt werden muss, die maximal 16 Kartenregister unterstützen, muss MaximumLength kleiner als 65536 sein.

Der MaximumLength-Wert gilt wie folgt nur für die angegebene DMA-Transaktion:

  • Wenn der angegebene Wert kleiner als der Standardwert ist, den der Treiber in seiner WDF_DMA_ENABLER_CONFIG-Struktur angegeben hat, setzt der angegebene Wert den Standardwert außer Kraft.
  • Wenn der angegebene Wert größer als der Standardwert ist, wird der angegebene Wert ignoriert.

Rückgabewert

Keine

Bemerkungen

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

Ihr Treiber muss die DMA-Transaktion initialisieren, bevor WdfDmaTransactionSetMaximumLength aufgerufen wird.

Informationen zum Initialisieren einer DMA-Transaktion finden Sie unter Erstellen und Initialisieren einer DMA-Transaktion.

Beispiele

Im folgenden Codebeispiel wird die maximale Übertragungslänge für eine angegebene DMA-Transaktion auf einen vom Treiber definierten Wert festgelegt.

WdfDmaTransactionSetMaximumLength(
                                 dmaTransaction,
                                 MAX_TRANSFER_LENGTH/2,
                                 );

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)

Weitere Informationen

WDF_DMA_ENABLER_CONFIG

WdfDmaTransactionCreate