Share via


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

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

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

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 valor del parámetro handle 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.

Comentarios

Esta rutina libera un motor DMA reservado previamente 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 el pin (y destruir la secuencia).

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado hdaudio.h (incluye Hdaudio.h)
IRQL <=DISPATCH_LEVEL

Consulte también

AllocateCaptureDmaEngine

AllocateRenderDmaEngine

FreeContiguousDmaBuffer

FreeDmaBuffer

HDAUDIO_BUS_INTERFACE

HDAUDIO_BUS_INTERFACE_BDL

HDAUDIO_BUS_INTERFACE_V2