Compartir a través de


Función WdfDmaTransactionSetMaximumLength (wdfdmatransaction.h)

[Solo se aplica a KMDF]

El método WdfDmaTransactionSetMaximumLength establece la longitud máxima de las transferencias DMA asociadas a una transacción DMA especificada.

Sintaxis

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

Parámetros

[in] DmaTransaction

Identificador de un objeto de transacción DMA que el controlador obtuvo de una llamada anterior a WdfDmaTransactionCreate.

[in] MaximumLength

Tamaño máximo, en bytes, que el dispositivo puede controlar en una sola operación de transferencia de DMA. Si el controlador debe ejecutarse en versiones de los sistemas operativos Microsoft Windows que admiten un máximo de 16 registros de asignación, MaximumLength debe ser inferior a 65536.

El valor MaximumLength solo se aplica a la transacción DMA especificada, como se indica a continuación:

  • Si el valor especificado es menor que el valor predeterminado que el controlador especificó en su estructura WDF_DMA_ENABLER_CONFIG, el valor especificado invalida el valor predeterminado.
  • Si el valor especificado es mayor que el valor predeterminado, se omite el valor especificado.

Valor devuelto

Ninguno

Observaciones

Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.

El controlador debe inicializar la transacción DMA antes de llamar a WdfDmaTransactionSetMaximumLength.

Para obtener información sobre cómo inicializar una transacción DMA, vea Crear e inicializar una transacción DMA.

Ejemplos

En el ejemplo de código siguiente se establece la longitud máxima de transferencia en un valor definido por el controlador para una transacción DMA especificada.

WdfDmaTransactionSetMaximumLength(
                                 dmaTransaction,
                                 MAX_TRANSFER_LENGTH/2,
                                 );

Requisitos

Requisito Valor
de la plataforma de destino de Universal
versión mínima de KMDF 1.0
encabezado wdfdmatransaction.h (incluya Wdf.h)
Biblioteca Wdf01000.sys (consulte Control de versiones de la biblioteca de marcos).
irQL <=DISPATCH_LEVEL
reglas de cumplimiento de DDI DriverCreate(kmdf)

Consulte también

WDF_DMA_ENABLER_CONFIG

WdfDmaTransactionCreate