Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
[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) |