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 mapa, 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

None

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 Creating and Initializing a DMA Transaction.

Ejemplos

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

WdfDmaTransactionSetMaximumLength(
                                 dmaTransaction,
                                 MAX_TRANSFER_LENGTH/2,
                                 );

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Encabezado wdfdmatransaction.h (incluya Wdf.h)
Library 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