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 |
---|---|
|
Indica que el valor del parámetro handle no es válido. |
|
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:
- No se ha liberado ningún búfer DMA asignado anteriormente (llamando a FreeDmaBuffer o FreeContiguousDmaBuffer).
- La secuencia está en un estado distinto del restablecimiento.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | hdaudio.h (incluye Hdaudio.h) |
IRQL | <=DISPATCH_LEVEL |