Функция acmStreamConvert (msacm.h)
Функция acmStreamConvert запрашивает ACM для выполнения преобразования в указанном потоке преобразования. Преобразование может быть синхронным или асинхронным в зависимости от способа открытия потока.
Синтаксис
MMRESULT ACMAPI acmStreamConvert(
HACMSTREAM has,
LPACMSTREAMHEADER pash,
DWORD fdwConvert
);
Параметры
has
Дескриптор открытого потока преобразования.
pash
Указатель на заголовок потока, описывающий исходный и целевой буферы для преобразования. Этот заголовок должен быть подготовлен ранее с помощью функции acmStreamPrepareHeader .
fdwConvert
Флаги для выполнения преобразования. Определены следующие значения.
Значение | Значение |
---|---|
ACM_STREAMCONVERTF_BLOCKALIGN | Будет преобразовано только целое число блоков. Преобразованные данные будут заканчиваться на границах, выровненных по блокам. Приложение должно использовать этот флаг для всех преобразований в потоке до тех пор, пока не будет недостаточно исходных данных для преобразования в назначение, выровненное по блокам. В этом случае следует указать последнее преобразование без этого флага. |
ACM_STREAMCONVERTF_END | Поток преобразования ACM должен начать возвращать ожидающие данные экземпляра. Например, если поток преобразования содержит данные экземпляра, такие как окончание операции эхо-фильтра, этот флаг приведет к тому, что поток начнет возвращать эти оставшиеся данные с необязательными исходными данными. Этот флаг можно указать с помощью флага ACM_STREAMCONVERTF_START. |
ACM_STREAMCONVERTF_START | Поток преобразования ACM должен повторно инициализировать данные своего экземпляра. Например, если поток преобразования содержит данные экземпляра, такие как разностные данные или данные прогноза, этот флаг восстановит поток до начальных значений по умолчанию. Этот флаг можно указать с помощью флага ACM_STREAMCONVERTF_END. |
Возвращаемое значение
Возвращает ноль при успешном выполнении или ошибке в противном случае. Возможные значения ошибок:
Код возврата | Описание |
---|---|
|
Заголовок потока, указанный в pash , в настоящее время используется и не может использоваться повторно. |
|
Заголовок потока, указанный в pash , в настоящее время не подготовлен функцией acmStreamPrepareHeader . |
|
По крайней мере один флаг недопустим. |
|
Указанный дескриптор недопустим. |
|
По крайней мере один параметр недопустим. |
Комментарии
Необходимо использовать функцию acmStreamPrepareHeader для подготовки исходного и целевого буферов перед их передачей в acmStreamConvert.
Если ACM или драйвер успешно помещается в очередь запроса на асинхронное преобразование, а затем становится невозможным, структура ACMSTREAMHEADER отправляется обратно в функцию обратного вызова приложения с элементом cbDstLengthUsed , равным нулю.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | msacm.h |
Библиотека | Msacm32.lib |
DLL | Msacm32.dll |