Compartilhar via


Função WdfDmaTransactionRelease (wdfdmatransaction.h)

[Aplica-se somente ao KMDF]

O método WdfDmaTransactionRelease encerra uma transação de 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.

Retornar valor

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.

Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.

Comentários

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 de 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
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Cabeçalho wdfdmatransaction.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (consulte Controle de versão da biblioteca de estrutura.)
IRQL <=DISPATCH_LEVEL
Regras de conformidade de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Confira também

WdfDmaTransactionCreate