Función WdfDmaTransactionSetSingleTransferRequirement (wdfdmatransaction.h)

[Solo se aplica a KMDF]

El método WdfDmaTransactionSetSingleTransferRequirement especifica que una transacción DMA debe completarse en una única transferencia.

Sintaxis

void WdfDmaTransactionSetSingleTransferRequirement(
  [in] WDFDMATRANSACTION DmaTransaction,
  [in] BOOLEAN           RequireSingleTransfer
);

Parámetros

[in] DmaTransaction

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

[in] RequireSingleTransfer

Valor booleano que, si es TRUE, especifica que la transacción DMA requiere una única transferencia.

Valor devuelto

None

Observaciones

Este método solicita una única transferencia solo para una única transacción. Cuando el objeto de transacción se recicla con WdfDmaTransactionRelease y reinicializado, esta configuración se restablece, de forma similar a otras propiedades de nivel de transacción, como la ejecución inmediata y la longitud máxima de transferencia.

Para solicitar una transferencia única para todas las transacciones DMA creadas con un habilitador de DMA determinado, especifique WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER en WDF_DMA_ENABLER_CONFIG_FLAGS al llamar a WdfDmaEnablerCreate. Esto equivale a llamar a WdfDmaTransactionSetSingleTransferRequirement para cada objeto de transacción creado con el habilitador DMA.

El controlador llama a WdfDmaTransactionSetSingleTransferRequirement después de crear o reciclar el objeto de transacción, pero antes de inicializarlo o ejecutarlo. Para obtener más información, consulta Usar DMA de transferencia única.

WdfDmaTransactionSetSingleTransferRequirement requiere la versión 3 de DMA. Para seleccionar DMA versión 3, establezca el miembro WdmDmaVersionOverride de WDF_DMA_ENABLER_CONFIG en 3.

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.19
Encabezado wdfdmatransaction.h (incluya Wdf.h)
Library Wdf01000.sys (consulte Control de versiones de la biblioteca de marcos).
IRQL <=DISPATCH_LEVEL

Consulte también

WdfDmaTransactionCreate

WdfDmaTransactionInitialize

WdfDmaTransactionInitializeUsingRequest