acmDriverAddW 函数 (msacm.h)

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

语法

MMRESULT ACMAPI acmDriverAddW(
  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 [仅限桌面应用]
目标平台 窗户
标头 msacm.h
Msacm32.lib
DLL Msacm32.dll

另请参阅

音频压缩函数

音频压缩管理器