Funzione WdfDmaTransactionSetMaximumLength (wdfdmatransaction.h)

[Si applica solo a KMDF]

Il metodo WdfDmaTransactionSetMaximumLength imposta la lunghezza massima per i trasferimenti DMA associati a una transazione DMA specificata.

Sintassi

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

Parametri

[in] DmaTransaction

Handle per un oggetto transazione DMA ottenuto dal driver da una chiamata precedente a WdfDmaTransactionCreate.

[in] MaximumLength

Dimensioni massime, in byte, che il dispositivo può gestire in una singola operazione di trasferimento DMA. Se il driver deve essere eseguito nelle versioni dei sistemi operativi Microsoft Windows che supportano un massimo di 16 registri mappa, MaximumLength deve essere minore di 65536.

Il valore MaximumLength si applica solo alla transazione DMA specificata, come indicato di seguito:

  • Se il valore specificato è minore del valore predefinito specificato dal driver nella struttura WDF_DMA_ENABLER_CONFIG , il valore specificato sostituisce il valore predefinito.
  • Se il valore specificato è maggiore del valore predefinito, il valore specificato viene ignorato.

Valore restituito

nessuno

Osservazioni

Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.

Il driver deve inizializzare la transazione DMA prima di chiamare WdfDmaTransactionSetMaximumLength.

Per informazioni sull'inizializzazione di una transazione DMA, vedere Creazione e inizializzazione di una transazione DMA.

Esempio

Nell'esempio di codice seguente la lunghezza massima di trasferimento viene impostata su un valore definito dal driver per una transazione DMA specificata.

WdfDmaTransactionSetMaximumLength(
                                 dmaTransaction,
                                 MAX_TRANSFER_LENGTH/2,
                                 );

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1.0
Intestazione wdfdmatransaction.h (include Wdf.h)
Libreria Wdf01000.sys (vedere Controllo delle versioni della libreria framework).
IRQL <=DISPATCH_LEVEL
Regole di conformità DDI DriverCreate(kmdf)

Vedi anche

WDF_DMA_ENABLER_CONFIG

WdfDmaTransactionCreate