Compartilhar via


Função WdfDmaTransactionGetCurrentDmaTransferLength (wdfdmatransaction.h)

[Aplica-se somente ao KMDF]

O método WdfDmaTransactionGetCurrentDmaTransferLength retorna o tamanho da transferência de DMA atual.

Sintaxe

size_t WdfDmaTransactionGetCurrentDmaTransferLength(
  [in] WDFDMATRANSACTION DmaTransaction
);

Parâmetros

[in] DmaTransaction

Um identificador para um objeto de transação DMA que o driver obteve de uma chamada anterior para WdfDmaTransactionCreate.

Valor de retorno

WdfDmaTransactionGetCurrentDmaTransferLength retorna o comprimento da transferência DMA atual.

Uma verificação de bug ocorre se o driver fornece um identificador de objeto inválido.

Observações

Se um driver chamar WdfDmaTransactionGetCurrentDmaTransferLength, ele deverá fazê-lo antes de chamar uma das rotinas de conclusão de transferência, como WdfDmaTransactionDmaCompleted, para concluir a transferência de DMA atual. Normalmente, os drivers chamam WdfDmaTransactionGetCurrentDmaTransferLength de dentro de uma função de retorno de chamada de evento EvtInterruptDpc.

Normalmente, um driver chama WdfDmaTransactionGetCurrentDmaTransferLength para dispositivos que relatam comprimentos de transferência de DMA residual (ou seja, contagens de bytes de dados que não foram transferidos). Ao subtrair o comprimento de transferência residual do valor que WdfDmaTransactionGetCurrentDmaTransferLength retornado, o driver pode determinar o comprimento real da transferência. Em seguida, o driver chama WdfDmaTransactionDmaCompletedWithLength para informar à estrutura o número de bytes que o dispositivo realmente transferiu.

Para obter mais informações sobre transferências de DMA completas, consulte Concluir umde Transferência de DMA.

Exemplos

Para obter um exemplo de código que usa WdfDmaTransactionGetCurrentDmaTransferLength, consulte WdfDmaTransactionDmaCompletedWithLength.

Requisitos

Requisito Valor
da Plataforma de Destino Universal
versão mínima do KMDF 1.0
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), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Consulte também

EvtInterruptDpc

WdfDmaTransactionCreate

WdfDmaTransactionDmaCompleted

WdfDmaTransactionDmaCompletedWithLength