Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Подпрограмма FreeDmaEngine
освобождает модуль DMA, который ранее был выделен вызовом AllocateCaptureDmaEngine или AllocateRenderDmaEngine.
Тип указателя функции для подпрограммы FreeDmaEngine
определяется следующим образом.
Синтаксис
PFREE_DMA_ENGINE PfreeDmaEngine;
NTSTATUS PfreeDmaEngine(
[in] PVOID _context,
[in] HANDLE Handle
)
{...}
Параметры
[in] _context
Задает значение контекста из элемента контекста Context элемента HDAUDIO_BUS_INTERFACE, структуры HDAUDIO_BUS_INTERFACE_V2 или HDAUDIO_BUS_INTERFACE_BDL.
[in] Handle
Обработка идентификации подсистемы DMA. Это значение дескриптора было получено из предыдущего вызова AllocateCaptureDmaEngine или AllocateRenderDmaEngine.
Возвращаемое значение
FreeDmaEngine
возвращает STATUS_SUCCESS, если вызов успешно освобождает подсистему DMA. В противном случае подпрограмма возвращает соответствующий код ошибки. В следующей таблице показаны некоторые возможные коды состояния возврата.
Возвращаемый код | Описание |
---|---|
|
Указывает, что значение параметра дескриптором недопустимо. |
|
Указывает, что поток не находится в состоянии сброса или что буфер по-прежнему выделяется для подсистемы DMA. |
Замечания
Эта подпрограмма освобождает подсистему DMA, которая ранее зарезервирована вызовом процедуры AllocateCaptureDmaEngine или AllocateRenderDmaEngine.
Эта подпрограмма завершается ошибкой и возвращает код ошибки STATUS_INVALID_DEVICE_REQUEST в любом из следующих случаев:
- Любой ранее выделенный буфер DMA не был освобожден (вызывая FreeDmaBuffer или FreeContiguousDmaBuffer).
- Поток находится в состоянии, отличном от сброса.
Требования
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | hdaudio.h (include Hdaudio.h) |
IRQL | <=DISPATCH_LEVEL |