Compartir a través de


EVT_WDF_PROGRAM_DMA función de devolución de llamada (wdfdmatransaction.h)

[Solo se aplica a KMDF]

Una función de devolución de llamada de eventos EvtProgramDma del controlador basado en marcos programa un dispositivo especificado para realizar una operación de transferencia DMA.

Sintaxis

EVT_WDF_PROGRAM_DMA EvtWdfProgramDma;

BOOLEAN EvtWdfProgramDma(
  [in] WDFDMATRANSACTION Transaction,
  [in] WDFDEVICE Device,
  [in] WDFCONTEXT Context,
  [in] WDF_DMA_DIRECTION Direction,
  [in] PSCATTER_GATHER_LIST SgList
)
{...}

Parámetros

[in] Transaction

Identificador del objeto de transacción DMA que representa la transacción DMA actual.

[in] Device

Identificador de un objeto de dispositivo de marco.

[in] Context

Puntero de contexto que el controlador especificó en una llamada anterior a WdfDmaTransactionExecute.

[in] Direction

Valor WDF_DMA_DIRECTION con tipo que especifica la dirección de la operación de transferencia de DMA.

[in] SgList

Puntero a una estructura de SCATTER_GATHER_LIST .

Valor devuelto

La función de devolución de llamada EvtProgramDma debe devolver TRUE si inicia correctamente la operación de transferencia DMA. De lo contrario, esta función de devolución de llamada debe devolver FALSE. Sin embargo, el marco omite actualmente el valor devuelto.

Comentarios

Los controladores registran una función de devolución de llamada de eventos EvtProgramDma llamando a WdfDmaTransactionInitializeUsingRequest o WdfDmaTransactionInitialize.

El marco llama a la función de devolución de llamada de eventos EvtProgramDma de un controlador cuando hay disponible una transferencia DMA . La función de devolución de llamada debe programar el hardware para iniciar la transferencia.

El controlador no debe manipular los búferes de datos asociados a la transacción hasta que WdfDmaTransactionDmaCompletedXxx haya devuelto TRUE.

Para transferencias de paquetes únicos, la lista de dispersión y recopilación a la que apunta el parámetro SgList contiene un solo elemento.

Para obtener más información sobre esta función de devolución de llamada, vea Programación de hardware DMA.

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Encabezado wdfdmatransaction.h (incluya Wdf.h)
IRQL DISPATCH_LEVEL

Consulte también

WdfDmaTransactionExecute

WdfDmaTransactionInitialize

WdfDmaTransactionInitializeUsingRequest