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

[Aplica-se somente ao KMDF]

A função de retorno de chamada de evento EvtProgramDma de um driver baseado 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 de tipo WDF_DMA_DIRECTION que especifica a direção da operação de transferência de DMA.

[in] SgList

Um ponteiro para uma estrutura de SCATTER_GATHER_LIST .

Retornar valor

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 deverá 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 para a 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 de DMA.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Cabeçalho wdfdmatransaction.h (inclua Wdf.h)
IRQL DISPATCH_LEVEL

Confira também

WdfDmaTransactionExecute

WdfDmaTransactionInitialize

WdfDmaTransactionInitializeUsingRequest