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

AcmDriverEnum

MMRESULT acmDriverEnum( ACMDRIVERENUMCB fnCallback, DWORD dwInstance, DWORD fdwEnum );

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

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

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

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

Аргументы

  1. fnCallback — указатель на экземпляр процедуры, определённой приложением в качестве функции обратного вызова.

  2. dwInstance — определяемая в приложении 32-разрядная величина, передаваемая в качестве аргумента функции обратного вызова вместе с информацией о драйвере ACM.

  3. fdwEnum — флаги, определяющие режим поиска в списке драйверов ACM. Определены следующие значения:

  • ACM_DRIVERENUMF_DISABLED — в процессе поиска должны просматриваться и недоступные драйвера ACM. Пользователь может сделать драйвер недоступным с использованием Панели управления. Приложение может сделать драйвер недоступным с использованием функции acmDriverPriority. Если драйвер недоступен, в аргументе fdwSupport функции обратного вызова должен быть установлен флаг ACMDRIVERDETAILS_SUPPORTF_DISABLED.

  • ACM_DRIVERENUMF_NOLOCAL — следует провести поиск только среди глобальных драйверов.

Примечание

Функция acmDriverEnum производит поиск среди драйверов ACM. Поиск завершается при просмотре всего списка драйверов или в том случае, когда функция обратного вызова возвращает значение FALSE.

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

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

AcmDriverEnumCallback

BOOL ACMDRIVERENUMCB acmDriverEnumCallback( HACMDRIVERID hadid, DWORD dwInstance, DWORD fdwSupport );

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

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

Аргументы

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

  2. dwInstance — переменная, определяемая в функции acmDriverEnum, значение которой зависит от приложения.

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

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

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

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

  • ACMDRIVERDETAILS_SUPPORTF_DISABLED — драйвер недоступен. Приложение должно установить флаг ACMDRIVERDETAILS_SUPPORTF_DISABLED при вызове функции acmDriverEnum, чтобы при поиске просматривались и недоступные драйвера.

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

Примечание

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

Функция acmDriverEnum должна возвращать значение MMSYSERR_NOERROR (нулевое), если не установлен ни один из драйверов ACM.

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

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

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