Функция acmDriverAdd (msacm.h)

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

Синтаксис

MMRESULT ACMAPI acmDriverAdd(
  LPHACMDRIVERID phadid,
  HINSTANCE      hinstModule,
  LPARAM         lParam,
  DWORD          dwPriority,
  DWORD          fdwAdd
);

Параметры

phadid

Указатель на буфер, который получает дескриптор, определяющий установленный драйвер. Этот дескриптор используется для идентификации драйвера в вызовах других функций ACM.

hinstModule

Дескриптор экземпляра модуля, исполняемый файл или библиотека динамической компоновки (DLL) содержит функцию записи драйвера.

lParam

Адрес функции драйвера или дескриптор окна уведомлений в зависимости от флагов fdwAdd .

dwPriority

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

fdwAdd

Флаги для добавления драйверов ACM. Определены следующие значения.

Значение Значение
ACM_DRIVERADDF_FUNCTION Параметр lParam — это адрес функции драйвера, соответствующий прототипу acmDriverProc . Функция может находиться либо в исполняемом файле, либо в DLL-файле.
ACM_DRIVERADDF_GLOBAL Предоставляется для совместимости с 16-разрядными приложениями. Для API Win32 драйверы ACM, добавленные функцией acmDriverAdd , могут использоваться только приложением, которое добавило драйвер. Это верно независимо от того, указана ли ACM_DRIVERADDF_GLOBAL. Дополнительные сведения см. в разделе Добавление драйверов в приложении.
ACM_DRIVERADDF_LOCAL ACM автоматически присваивает локальному драйверу более высокий приоритет, чем глобальный драйвер при поиске драйвера для удовлетворения вызова функции. Дополнительные сведения см. в разделе Добавление драйверов в приложении.
ACM_DRIVERADDF_NAME Параметр lParam — это имя значения реестра в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32. Значение определяет библиотеку DLL, реализующую кодек ACM. Приложения могут использовать этот флаг, если новые записи реестра создаются после того, как приложение уже начало использовать ACM.
ACM_DRIVERADDF_NOTIFYHWND Параметр lParam — это дескриптор окна уведомлений, которое получает сообщения при изменении глобальных приоритетов и состояний драйвера. Сообщение окна для получения определяется приложением и должно передаваться в dwPriority. Параметры wParam и lParam , переданные с сообщением окна, зарезервированы для дальнейшего использования и должны игнорироваться. ACM_DRIVERADDF_GLOBAL нельзя указать вместе с этим флагом. Дополнительные сведения о приоритетах драйверов см. в описании функции acmDriverPriority .

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

Возвращает ноль при успешном выполнении или ошибке в противном случае. Возможные значения ошибок:

Код возврата Описание
MMSYSERR_INVALFLAG
По крайней мере один флаг недопустим.
MMSYSERR_INVALPARAM
По крайней мере один параметр недопустим.
MMSYSERR_NOMEM
Системе не удается выделить ресурсы.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header msacm.h
Библиотека Msacm32.lib
DLL Msacm32.dll

См. также раздел

Функции сжатия звука

Диспетчер сжатия аудио