Compartir a través de


Función WdfDmaTransactionSetSingleTransferRequirement (wdfdmatransaction.h)

[Solo se aplica a KMDF]

El método WdfDmaTransactionSetSingleTransferRequirement especifica que una transacción DMA debe completarse en una sola 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 TRUE, especifica que la transacción DMA requiere una sola transferencia.

Valor devuelto

Ninguno

Observaciones

Este método solicita una única transferencia solo para una sola transacción. Cuando el objeto de transacción se recicla con WdfDmaTransactionRelease y reinicializa, esta configuración se restablece, 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 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 Using Single Transfer DMA.

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

Requisitos

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

Consulte también

WdfDmaTransactionCreate

WdfDmaTransactionInitialize

WdfDmaTransactionInitializeUsingRequest