Función WdfDmaTransactionRelease (wdfdmatransaction.h)

[Solo se aplica a KMDF]

El método WdfDmaTransactionRelease finaliza una transacción DMA especificada sin eliminar el objeto de transacción DMA asociado.

Sintaxis

NTSTATUS WdfDmaTransactionRelease(
  [in] WDFDMATRANSACTION DmaTransaction
);

Parámetros

[in] DmaTransaction

Identificador de un objeto de transacción DMA que el controlador obtuvo de una llamada anterior a WdfDmaTransactionCreate.

Valor devuelto

WdfDmaTransactionRelease devuelve STATUS_SUCCESS si la operación se realiza correctamente. De lo contrario, el método podría devolver el siguiente valor:

Código devuelto Descripción
STATUS_INVALID_DEVICE_STATE
El controlador ya ha liberado o eliminado el objeto de transacción especificado por el parámetro DmaTransaction .
 

Este método también podría devolver otros valores NTSTATUS.

Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.

Comentarios

El método WdfDmaTransactionRelease vacía los búferes de transferencia y libera todos los recursos del sistema asociados a la transacción DMA. El objeto de transacción no se elimina y se puede reutilizar. Para obtener más información sobre la reutilización de objetos de transacción, consulte Reutilización de objetos de transacción DMA.

Si WdfDmaTransactionInitializeXxx devuelve éxito, pero WdfDmaTransactionExecute devuelve un valor de error, el controlador debe llamar a WdfDmaTransactionRelease.

Ejemplos

En el ejemplo de código siguiente se finaliza la transacción DMA que representa el objeto de transacción DMA especificado, pero no elimina el objeto de transacción DMA.

NTSTATUS  status;

status = WdfDmaTransactionRelease(dmaTransaction);

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Encabezado wdfdmatransaction.h (incluya Wdf.h)
Library Wdf01000.sys (consulte Control de versiones de la biblioteca de marcos).
IRQL <=DISPATCH_LEVEL
Reglas de cumplimiento de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Consulte también

WdfDmaTransactionCreate