acmDriverAddA 函数 (msacm.h)

acmDriverAdd 函数将驱动程序添加到可用 ACM 驱动程序的列表。 驱动程序类型和位置取决于用于添加 ACM 驱动程序的标志。 成功添加驱动程序后,驱动程序入口函数将收到 ACM 驱动程序消息。

语法

MMRESULT ACMAPI acmDriverAddA(
  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 位应用程序兼容。 对于 Win32 API,acmDriverAdd 函数添加的 ACM 驱动程序只能由添加该驱动程序的应用程序使用。 无论是否指定ACM_DRIVERADDF_GLOBAL,这都是正确的。 有关详细信息,请参阅 在应用程序中添加驱动程序
ACM_DRIVERADDF_LOCAL 搜索满足函数调用的驱动程序时,ACM 会自动为本地驱动程序提供比全局驱动程序更高的优先级。 有关详细信息,请参阅 在应用程序中添加驱动程序
ACM_DRIVERADDF_NAME lParam 参数是 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32 中的注册表值名称。 值标识实现 ACM 编解码器的 DLL。 如果在应用程序开始使用 ACM 后创建新的注册表项,则应用程序可以使用此标志。
ACM_DRIVERADDF_NOTIFYHWND lParam 参数是通知窗口的句柄,该窗口在对全局驱动程序优先级和状态进行更改时接收消息。 要接收的窗口消息由应用程序定义,必须在 dwPriority 中传递。 随窗口消息一起传递的 wParamlParam 参数保留供将来使用,应将其忽略。 ACM_DRIVERADDF_GLOBAL不能与此标志一起指定。 有关驱动程序优先级的详细信息,请参阅 acmDriverPriority 函数的说明。

返回值

如果成功,则返回零,否则返回错误。 可能的错误值包括以下内容。

返回代码 说明
MMSYSERR_INVALFLAG
至少有一个标志无效。
MMSYSERR_INVALPARAM
至少有一个参数无效。
MMSYSERR_NOMEM
系统无法分配资源。

注解

注意

msacm.h 标头将 acmDriverAdd 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 msacm.h
Library Msacm32.lib
DLL Msacm32.dll

另请参阅

音频压缩函数

音频压缩管理器