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 WdfDmaTransactionRelease encerra uma transação DMA especificada sem excluir o objeto de transação DMA associado.
Sintaxe
NTSTATUS WdfDmaTransactionRelease(
[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
WdfDmaTransactionRelease retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, o método poderá retornar o seguinte valor:
Código de retorno | Descrição |
---|---|
|
O driver já liberou ou excluiu o objeto de transação especificado pelo parâmetro DmaTransaction. |
Esse método também pode retornar outros valores NTSTATUS .
Uma verificação de bug ocorre se o driver fornece um identificador de objeto inválido.
Observações
O método WdfDmaTransactionRelease libera buffers de transferência e libera todos os recursos do sistema associados à transação DMA. O objeto de transação não é excluído e pode ser reutilizado. Para obter mais informações sobre como reutilizando objetos de transação, consulte Reutilizando objetos de transação DMA.
Se WdfDmaTransactionInitializeXxx retornará êxito, mas WdfDmaTransactionExecute retornará um valor de erro, seu driver deverá chamar WdfDmaTransactionRelease.
Exemplos
O exemplo de código a seguir encerra a transação DMA que o objeto de transação DMA especificado representa, mas não exclui o objeto de transação DMA.
NTSTATUS status;
status = WdfDmaTransactionRelease(dmaTransaction);
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) |