Compartir a través de


PFREE_DMA_ENGINE función de devolución de llamada (hdaudio.h)

La rutina FreeDmaEngine libera un motor DMA asignado previamente por una llamada a AllocateCaptureDmaEngine o AllocateRenderDmaEngine.

El tipo de puntero de función para una rutina de FreeDmaEngine se define de la manera siguiente.

Sintaxis

PFREE_DMA_ENGINE PfreeDmaEngine;

NTSTATUS PfreeDmaEngine(
  [in] PVOID _context,
  [in] HANDLE Handle
)
{...}

Parámetros

[in] _context

Especifica el valor de contexto del miembro Context del HDAUDIO_BUS_INTERFACE, la estructura HDAUDIO_BUS_INTERFACE_V2 o HDAUDIO_BUS_INTERFACE_BDL.

[in] Handle

Controle la identificación del motor DMA. Este valor de identificador se obtuvo de una llamada anterior a AllocateCaptureDmaEngine o AllocateRenderDmaEngine.

Valor devuelto

FreeDmaEngine devuelve STATUS_SUCCESS si la llamada se realiza correctamente al liberar el motor DMA. De lo contrario, la rutina devuelve un código de error adecuado. En la tabla siguiente se muestran algunos de los posibles códigos de estado de retorno.

Código devuelto Descripción
STATUS_INVALID_HANDLE
Indica que el identificador de valor de parámetro no es válido.
STATUS_INVALID_DEVICE_REQUEST
Indica que la secuencia no está en el estado de restablecimiento o que un búfer todavía está asignado para el motor DMA.

Observaciones

Esta rutina libera un motor DMA que anteriormente estaba reservado por una llamada a la rutina AllocateCaptureDmaEngine o AllocateRenderDmaEngine.

Esta rutina produce un error y devuelve el código de error STATUS_INVALID_DEVICE_REQUEST en cualquiera de las siguientes circunstancias:

Un controlador de audio llama a esta rutina para cerrar la patilla (y destruir la secuencia).

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de hdaudio.h (incluya Hdaudio.h)
irQL <=DISPATCH_LEVEL

Consulte también

AllocateCaptureDmaEngine

AllocateRenderDmaEngine

FreeContiguousDmaBuffer

FreeDmaBuffer

HDAUDIO_BUS_INTERFACE

HDAUDIO_BUS_INTERFACE_BDL

HDAUDIO_BUS_INTERFACE_V2