функция обратного вызова PFREE_DMA_BUFFER_WITH_NOTIFICATION (hdaudio.h)

Подпрограмма FreeDmaBufferWithNotification освобождает буфер DMA, который ранее был выделен вызовом AllocateDmaBufferWithNotification.

Тип указателя функции для подпрограммы FreeDmaBufferWithNotification определяется следующим образом.

Синтаксис

PFREE_DMA_BUFFER_WITH_NOTIFICATION PfreeDmaBufferWithNotification;

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

Параметры

[in] _context

Задает значение контекста из элемента Context структуры HDAUDIO_BUS_INTERFACE_V2 .

[in] Handle

Дескриптор, идентифицирующий подсистему DMA. Это значение дескриптора было получено при предыдущем вызове Метода AllocateCaptureDmaEngine или AllocateRenderDmaEngine.

[in] BufferMdl

Указатель на MDL буфера. Это значение было получено из предыдущего вызова Метода AllocateDmaBufferWithNotification.

[in] BufferSize

Размер освобождаемого буфера. Это значение было получено из предыдущего вызова Метода AllocateDmaBufferWithNotification.

Возвращаемое значение

FreeDmaBufferWithNotification возвращает STATUS_SUCCESS, если вызов выполнен успешно. В противном FreeDmaBufferWithNotification случае возвращает соответствующий код ошибки. В следующей таблице показаны некоторые из возможных кодов ошибок возврата.

Код возврата Описание
STATUS_UNSUCCESSFUL
Указывает, что вызывающий объект выполняется в слишком высоком irQL.
STATUS_INVALID_HANDLE
Указывает, что значение параметра дескриптора недопустимо.
STATUS_INVALID_DEVICE_REQUEST
Указывает, что поток не находится в состоянии сброса или что для подсистемы DMA в настоящее время не выделен буфер.

Комментарии

Подпрограмма FreeDmaBufferWithNotification используется вместе с подпрограммой AllocateDmaBufferWithNotification. Эти две процедуры доступны только в HDAUDIO_BUS_INTERFACE_V2 версии HD Audio DDI.

Вызывающие функции FreeDmaBufferWithNotification должны выполняться на PASSIVE_LEVEL IRQL.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях Windows.
Целевая платформа Персональный компьютер
Верхняя часть hdaudio.h (включая Hdaudio.h)
IRQL PASSIVE_LEVEL

См. также раздел

AllocateCaptureDmaEngine

AllocateDmaBufferWithNotification

AllocateRenderDmaEngine

HDAUDIO_BUS_INTERFACE_V2