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 传递。 随窗口消息一起传递的 wParam 和 lParam 参数保留供将来使用,应忽略。 ACM_DRIVERADDF_GLOBAL不能与此标志一起指定。 有关驱动程序优先级的详细信息,请参阅 acmDriverPriority 函数的说明。 |
返回值
如果成功,则返回零,否则返回错误。 可能的错误值包括以下内容。
返回代码 | 说明 |
---|---|
|
至少有一个标志无效。 |
|
至少有一个参数无效。 |
|
系统无法分配资源。 |
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | msacm.h |
Library | Msacm32.lib |
DLL | Msacm32.dll |