EVT_WDF_PROGRAM_DMA função de retorno de chamada (wdfdmatransaction.h)

[Aplica-se somente ao KMDF]

Uma função de retorno de evento EvtProgramDma do driver baseada em estrutura programa um dispositivo especificado para executar uma operação de transferência de DMA.

Sintaxe

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

Um identificador para o objeto de transação DMA que representa a transação DMA atual.

[in] Device

Um identificador para um objeto de dispositivo de estrutura.

[in] Context

O ponteiro de contexto especificado pelo driver em uma chamada anterior para WdfDmaTransactionExecute.

[in] Direction

Um valor tipo WDF_DMA_DIRECTION que especifica a direção da operação de transferência de DMA.

[in] SgList

Um ponteiro para uma estrutura SCATTER_GATHER_LIST .

Valor retornado

A função de retorno de chamada EvtProgramDma deverá retornar TRUE se iniciar com êxito a operação de transferência de DMA. Caso contrário, essa função de retorno de chamada deve retornar FALSE. No entanto, a estrutura atualmente ignora o valor retornado.

Comentários

Os drivers registram uma função de retorno de chamada de evento EvtProgramDma chamando WdfDmaTransactionInitializeUsingRequest ou WdfDmaTransactionInitialize.

A estrutura chama a função de retorno de chamada de evento EvtProgramDma de um driver quando uma transferência de DMA está disponível. A função de retorno de chamada deve programar o hardware para iniciar a transferência.

O driver não deve manipular os buffers de dados associados à transação até que WdfDmaTransactionDmaCompletedXxx tenha retornado TRUE.

Para transferências de pacote único, a lista de dispersão/coleta à qual o parâmetro SgList aponta contém um único elemento.

Para obter mais informações sobre essa função de retorno de chamada, consulte Programação de Hardware DMA.

Requisitos

   
Plataforma de Destino Universal
Versão mínima do KMDF 1,0
Cabeçalho wdfdmatransaction.h (include Wdf.h)
IRQL DISPATCH_LEVEL

Confira também

WdfDmaTransactionExecute

WdfDmaTransactionInitialize

WdfDmaTransactionInitializeUsingRequest