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

Die Parameter

[in] DmaTransaction

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

[in] MaximumLength

Die maximale Größe in Bytes, die das Gerät in einem einzigen DMA-Übertragungsvorgang verarbeiten kann. Wenn Ihr Treiber auf Versionen von Microsoft Windows-Betriebssystemen ausgeführt werden muss, die maximal 16 Kartenregisterunterstützen, muss MaximumLength- kleiner als 65536 sein.

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

  • Wenn der angegebene Wert kleiner als der Standardwert ist, den der in der WDF_DMA_ENABLER_CONFIG-Struktur angegebene Treiber hat, überschreibt der angegebene Wert den Standardwert.
  • Wenn der angegebene Wert größer als der Standardwert ist, wird der angegebene Wert ignoriert.

Rückgabewert

Nichts

Bemerkungen

Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.

Ihr Treiber muss die DMA-Transaktion initialisieren, bevor WdfDmaTransactionSetMaximumLengthaufgerufen 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 auf einen treiberdefinierten Wert für eine angegebene DMA-Transaktion festgelegt.

WdfDmaTransactionSetMaximumLength(
                                 dmaTransaction,
                                 MAX_TRANSFER_LENGTH/2,
                                 );

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)

Siehe auch

WDF_DMA_ENABLER_CONFIG

WdfDmaTransactionCreate