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 |