Compartilhar via


Função WdfDmaTransactionRelease (wdfdmatransaction.h)

[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
STATUS_INVALID_DEVICE_STATE
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)

Consulte também

WdfDmaTransactionCreate