Partilhar via


Função WdfDmaTransactionSetTransferCompleteCallback (wdfdmatransaction.h)

[Aplica-se somente ao KMDF]

O método WdfDmaTransactionSetTransferCompleteCallback registra uma função de retorno de chamada de evento de conclusão de transferência para uma transação DMA no modo sistema.

Sintaxe

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

Parâmetros

[in] DmaTransaction

Um identificador para um objeto de transação DMA inicializado para o qual definir ou limpar o retorno de chamada de conclusão de transferência.

[in, optional] DmaCompletionRoutine

Um ponteiro para o do driver EvtDmaTransactionDmaTransferComplete função de retorno de chamada de evento ou NULL para limpar uma função de retorno de chamada definida anteriormente.

[in, optional] DmaCompletionContext

Um ponteiro para um buffer que contém o contexto especificado pelo driver a ser fornecido para o do driver EvtDmaTransactionDmaTransferComplete função de retorno de chamada de evento ou NULL.

Valor de retorno

Nenhum

Observações

O driver chama esse método para definir uma rotina de conclusão que a estrutura chama após o controlador DMA do sistema concluir uma transferência. A estrutura chama o do driver EvtDmaTransactionDmaTransferComplete retorno de chamada uma vez para cada transferência na transação.

Normalmente, de dentro de uma função de retorno de chamada de evento de fila de E/S , um driver executa as seguintes etapas, nesta ordem:

  1. Chama WdfDmaTransactionInitializeUsingRequest, WdfDmaTransactionInitializeou WdfDmaTransactionInitializeUsingOffset para inicializar o objeto de transação.
  2. Chama WdfDmaTransactionSetTransferCompleteCallback no objeto de transação.
  3. Chamadas WdfDmaTransactionExecute .
Se o driver tiver especificado uma função de retorno de chamada de evento EvtDmaTransactionDmaTransferComplete chamando WdfDmaTransactionSetTransferCompleteCallback e o driver posteriormente chamará WdfDmaTransactionRelease, o retorno de chamada será desmarcado.

WdfDmaTransactionSetTransferCompleteCallback só pode ser usado com um habilitador de DMA que especifica um perfil DMA no modo sistema.

Se o driver chamar esse método em um sistema operacional anterior ao Windows 8, o verificador da estrutura relatará um erro.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 8
da Plataforma de Destino Universal
versão mínima do KMDF 1.11
cabeçalho wdfdmatransaction.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (consulte o Controle de Versão da Biblioteca da Estrutura.)
IRQL <=DISPATCH_LEVEL
regras de conformidade de DDI DriverCreate(kmdf)

Consulte também

EvtDmaTransactionDmaTransferComplete

WdfDmaTransactionRelease