Compartir a través de


Función WdfDmaTransactionSetTransferCompleteCallback (wdfdmatransaction.h)

[Solo se aplica a KMDF]

El método WdfDmaTransactionSetTransferCompleteCallback registra una función de devolución de llamada de evento de finalización de transferencia para una transacción DMA en modo sistema.

Sintaxis

void WdfDmaTransactionSetTransferCompleteCallback(
  [in]           WDFDMATRANSACTION                             DmaTransaction,
  [in, optional] PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE DmaCompletionRoutine,
  [in, optional] PVOID                                         DmaCompletionContext
);

Parámetros

[in] DmaTransaction

Identificador de un objeto de transacción DMA inicializado para el que se va a establecer o borrar la devolución de llamada de finalización de transferencia.

[in, optional] DmaCompletionRoutine

Puntero a la función de devolución de llamada de evento EvtDmaTransactionDmaTransferComplete del controlador o NULL para borrar una función de devolución de llamada establecida anteriormente.

[in, optional] DmaCompletionContext

Puntero a un búfer que contiene el contexto especificado por el controlador que se va a proporcionar a la función de devolución de llamada de evento EvtDmaTransactionDmaTransferComplete del controlador o NULL.

Valor devuelto

None

Observaciones

El controlador llama a este método para establecer una rutina de finalización a la que el marco llama después de que el controlador DMA del sistema complete una transferencia. El marco llama a la devolución de llamada EvtDmaTransactionDmaTransferComplete del controlador una vez para cada transferencia de la transacción.

Normalmente, desde dentro de una función de devolución de llamada de eventos de cola de E/S, un controlador realiza los pasos siguientes, en este orden:

  1. Llama a WdfDmaTransactionInitializeUsingRequest, WdfDmaTransactionInitialize o WdfDmaTransactionInitializeUsingOffset para inicializar el objeto de transacción.
  2. Llama a WdfDmaTransactionSetTransferCompleteCallback en el objeto de transacción.
  3. Llama a WdfDmaTransactionExecute.
Si el controlador ha especificado una función de devolución de llamada de evento EvtDmaTransactionDmaTransferComplete llamando a WdfDmaTransactionSetTransferCompleteCallback y el controlador llama posteriormente a WdfDmaTransactionRelease, se borra la devolución de llamada.

WdfDmaTransactionSetTransferCompleteCallback solo se puede usar con un habilitador DMA que especifica un perfil DMA en modo sistema.

Si el controlador llama a este método en un sistema operativo anterior a Windows 8, el comprobador del marco notifica un error.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8
Plataforma de destino Universal
Versión mínima de KMDF 1.11
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

EvtDmaTransactionDmaTransferComplete

WdfDmaTransactionRelease