функция обратного вызова 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 версии DDI HD Audio.

Вызовы FreeDmaBufferWithNotification должны выполняться в IRQL PASSIVE_LEVEL.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в Windows Vista и более поздних версиях Windows.
целевая платформа Настольный
заголовка hdaudio.h (include Hdaudio.h)
IRQL PASSIVE_LEVEL

См. также

AllocateCaptureDmaEngine

AllocateDmaBufferWithNotification

AllocateRenderDmaEngine

HDAUDIO_BUS_INTERFACE_V2