Share via


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

La FreeDmaBufferWithNotification rutina libera un búfer DMA asignado previamente mediante una llamada a AllocateDmaBufferWithNotification.

El tipo de puntero de función para una rutina FreeDmaBufferWithNotification se define como se indica a continuación.

Sintaxis

PFREE_DMA_BUFFER_WITH_NOTIFICATION PfreeDmaBufferWithNotification;

NTSTATUS PfreeDmaBufferWithNotification(
  [in] PVOID _context,
  [in] HANDLE Handle,
  [in] PMDL BufferMdl,
  [in] SIZE_T BufferSize
)
{...}

Parámetros

[in] _context

Especifica el valor de contexto del miembro Context de la estructura HDAUDIO_BUS_INTERFACE_V2 .

[in] Handle

Identificador que identifica el motor DMA. Este valor de identificador se obtuvo de una llamada anterior a AllocateCaptureDmaEngine o AllocateRenderDmaEngine.

[in] BufferMdl

Puntero al MDL del búfer. Este valor se obtuvo de una llamada anterior a AllocateDmaBufferWithNotification.

[in] BufferSize

Tamaño del búfer que se va a liberar. Este valor se obtuvo de una llamada anterior a AllocateDmaBufferWithNotification.

Valor devuelto

FreeDmaBufferWithNotification devuelve STATUS_SUCCESS si la llamada se realiza correctamente. De lo contrario, FreeDmaBufferWithNotification devuelve un código de error adecuado. En la tabla siguiente se muestran algunos de los posibles códigos de error de devolución.

Código devuelto Descripción
STATUS_UNSUCCESSFUL
Indica que el autor de la llamada se ejecuta en un IRQL demasiado alto.
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 no hay ningún búfer asignado actualmente para el motor DMA.

Comentarios

La FreeDmaBufferWithNotification rutina se usa junto con la rutina AllocateDmaBufferWithNotification. Estas dos rutinas solo están disponibles en la versión HDAUDIO_BUS_INTERFACE_V2 de la DDI de audio HD.

Los autores de llamadas de FreeDmaBufferWithNotification deben ejecutarse en irQL PASSIVE_LEVEL.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows Vista y versiones posteriores de Windows.
Plataforma de destino Escritorio
Encabezado hdaudio.h (incluye Hdaudio.h)
IRQL PASSIVE_LEVEL

Consulte también

AllocateCaptureDmaEngine

AllocateDmaBufferWithNotification

AllocateRenderDmaEngine

HDAUDIO_BUS_INTERFACE_V2