acmDriverAdd 函数 (msacm.h)

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

语法

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

parameters

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
系统无法分配资源。

要求

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

另请参阅

音频压缩函数

音频压缩管理器