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