Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Func.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.58 Mб
Скачать

AcmStreamPrepareHeader

MMRESULT acmStreamPrepareHeader( HACMSTREAM has, LPACMSTREAMHEADER pash, DWORD fdwPrepare );

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

В случае успешного завершения возвращает нулевое значение. В противном случае возвращает одно из следующих значений:

  • ACMERR_NOTPOSSIBLE — требуемая операция не может быть выполнена.

  • MMSYSERR_INVALFLAG — при вызове данной функции установлен, по крайней мере, один недопустимый флаг.

  • MMSYSERR_INVALHANDLE — использован недопустимый дескриптор.

  • MMSYSERR_INVALPARAM — при вызове данной функции, по крайней мере, один из её аргументов имеет недопустимое значение.

  • MMSYSERR_NOMEM — система не в состоянии разместить в памяти требуемые ресурсы.

Аргументы

  1. has — дескриптор потока преобразования.

  2. pash — указатель на объект структуры ACMSTREAMHEADER, содержащий указатели на подготавливаемые исходный буфер и буфер результата.

  3. fdwPrepare — зарезервирован для дальнейшего использования. Должен иметь нулевое значение.

Примечание

Функция acmStreamPrepareHeader подготавливает объект структуры ACMSTREAMHEADER для потокового преобразования ACM. Данная функция должна вызываться для каждого дескриптора потока прежде, чем он может быть использован в потоке преобразования. Дескриптор потока может быть повторно использован до тех пор, пока размер исходного буфера или буфера результата не превысят размеров буферов, заданных при подготовке дескриптора потока.

Подготовка дескриптора потока, который уже был до этого подготовлен, не приводит ни к каким результатам, а функция в этом случае возвращает нулевое значение. Несмотря на это, необходимо следить, чтобы приложение не подготавливало один и тот же дескриптор потока несколько раз.

Описание данной функции содержится в файле заголовка msacm.h. При работе с данной функцией следует включить в проект библиотеку msacm32.lib.

AcmStreamSize

MMRESULT acmStreamSize( HACMSTREAM has, DWORD cbInput, LPDWORD pdwOutputBytes, DWORD fdwSize );

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

В случае успешного завершения возвращает нулевое значение. В противном случае возвращает одно из следующих значений:

  • MMSYSERR_INVALFLAG — при вызове данной функции установлен, по крайней мере, один недопустимый флаг.

  • MMSYSERR_INVALHANDLE — использован недопустимый дескриптор.

  • MMSYSERR_INVALPARAM — при вызове данной функции, по крайней мере, один из её аргументов имеет недопустимое значение.

Аргументы

  1. has — дескриптор потока преобразования.

  2. cbInput — размер исходного буфера или буфера результата в байтах. Как именно будет использоваться данный буфер, определяет значение аргумента fdwSize. Данный аргумент не может иметь нулевого значения.

  3. pdwOutputBytes — указатель на переменную, в которую будет записан размер исходного буфера или буфера результата в байтах. Как именно будет использоваться данный буфер, определяет значение аргумента fdwSize. Если функция acmStreamSize успешно завершает свою работу, эта переменная будет содержать ненулевое значение.

  4. fdwSize — флаги, определяющие поток, по которому следует получить информацию. Определены следующие значения:

  • ACM_STREAMSIZEF_DESTINATION — аргумент cbInput содержит размер буфера результата. В аргумент pdwOutputBytes будет записан рекомендованный размер исходного буфера в байтах.

  • ACM_STREAMSIZEF_SOURCE — аргумент cbInput содержит размер исходного буфера. В аргумент pdwOutputBytes будет записан рекомендованный размер буфера результата в байтах.

Примечание

Функция acmStreamSize возвращает рекомендованный размер исходного буфера или буфера результата для потока ACM.

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

В случае возникновения ошибки в переменной, на которую указывает аргумент pdwOutputBytes, будет записано нулевое значение. Это верно только в том случае, если данный указатель имеет корректное значение.

Описание данной функции содержится в файле заголовка msacm.h. При работе с данной функцией следует включить в проект библиотеку msacm32.lib.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]