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

AcmFilterTagEnumCallback

BOOL ACMFILTERTAGENUMCB acmFilterTagEnumCallback( HACMDRIVERID hadid, LPACMFILTERTAGDETAILS paftd, DWORD dwInstance, DWORD fdwSupport );

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

Функция обратного вызова должна возвращать TRUE для продолжения поиска или FALSE для прекращения этой процедуры.

Аргументы

  1. hadid — дескриптор идентификатора драйвера ACM.

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

  3. dwInstance — переменная, определяемая в функции acmFilterTagEnum.

  4. fdwSupport— флаги поддержки драйверов, назначение которых зависит от драйвера, определяемого аргументом hadid. Значение этого аргумента соответствует значению переменной fdwSupport объекта структуры ACMDRIVERDETAILS. Этот аргумент может являться комбинацией следующих флагов, определяющих, какие операции драйвер может выполнить для данного типа фильтра:

  • ACMDRIVERDETAILS_SUPPORTF_ASYNC — драйвер допускает асинхронное преобразование для данного типа фильтра.

  • ACMDRIVERDETAILS_SUPPORTF_CODEC — драйвер допускает преобразование между двумя различными типами представления данных. Например, этот флаг устанавливается в том случае, когда драйвер допускает преобразование формата WAVE_FORMAT_PCM в формат WAVE_FORMAT_ADPCM.

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

  • ACMDRIVERDETAILS_SUPPORTF_FILTER — драйвер допускает использование фильтра (изменение данных при сохранении формата их представления). Например, этот флаг устанавливается в том случае, когда драйвер допускает изменение уровня воспроизведения и добавление эха в формате WAVE_FORMAT_PCM.

  • ACMDRIVERDETAILS_SUPPORTF_HARDWARE — драйвер позволяет производить аппаратный ввод, вывод или одновременный ввод и вывод через аудио устройство. Для получения идентификаторов устройств, связанных с поддерживаемым драйвером ACM приложение должно вызвать функцию acmMetrics с индексами метрики ACM_METRIC_HARDWARE_WAVE_INPUT и ACM_METRIC_HARDWARE_WAVE_OUTPUT.

Примечание

Функция acmFilterTagEnumCallback представляет собой функцию обратного вызова, используемую в функции acmFilterTagEnum. Имя функции acmFilterTagEnumCallback является условным и может быть заменено любым именем, не используемым другими функциями.

Функция acmFilterTagEnum должна возвращать значение MMSYSERR_NOERROR (нулевое), если не может быть найден ни один из типов фильтров ACM. Кроме того, в этом случае не должна вызываться функция обратного вызова.

Из функции обратного вызова не должны вызваться функции acmDriverAdd, acmDriverRemove и acmDriverPriority.

Описание данной функции содержится в файле заголовка msacm.h.

AcmFormatChoose

MMRESULT acmFormatChoose( LPACMFORMATCHOOSE pfmtc );

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

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

  • ACMERR_CANCELED — пользователь нажал кнопку Cancel в диалоговом окне или выбрал команду Закрыть в системном меню диалогового окна.

  • ACMERR_NOTPOSSIBLE — буфер, на который указывает переменная pwfx объекта структуры ACMFORMATCHOOSE, имеет недостаточный размер, чтобы вместить в себя описание выделенного формата.

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

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

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

  • MMSYSERR_NODRIVER — отсутствует драйвер, позволяющий работать с указанным форматом.

Аргументы

  1. pfmtc — указатель на объект структуры ACMFORMATCHOOSE содержащий информацию, используемую при инициализации диалогового окна. После завершения работы функции acmFormatChoose в этом объекте структуры содержится информация о выбранном пользователем формате.

  2. Перед вызовом данной функции в переменной pwfx объекта структуры ACMFORMATCHOOSE должен содержаться корректный указатель на область памяти, в которую будет помещён объект структуры дескриптора возвращаемого формата. В переменной cbwfx данного объекта структуры должен содержаться размер этой области памяти в байтах.

Примечание

Функция acmFormatChoose используется для создания определённого в ACM диалогового окна, позволяющего пользователю выбрать формат аудио информации.

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

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