acmFilterEnum 函数 (msacm.h)

acmFilterEnum 函数枚举 ACM 驱动程序中给定筛选器标记可用的波形音频筛选器。 此函数会继续枚举,直到没有适合筛选器标记的筛选器或回调函数返回 FALSE

语法

MMRESULT ACMAPI acmFilterEnum(
  HACMDRIVER         had,
  LPACMFILTERDETAILS pafd,
  ACMFILTERENUMCB    fnCallback,
  DWORD_PTR          dwInstance,
  DWORD              fdwEnum
);

参数

had

ACM 驱动程序的句柄,用于查询波形音频筛选器详细信息。 如果此参数为 NULL,则 ACM 将使用第一个合适的 ACM 驱动程序中的详细信息。

pafd

指向 ACMFILTERDETAILS 结构的指针,该结构在传递给 fnCallback 指定的函数时包含筛选器详细信息。 当应用程序调用 acmFilterEnum 时,必须初始化此结构的 cbStructpwfltrcbwfltr 成员。 dwFilterTag 成员还必须初始化为WAVE_FILTER_UNKNOWN或有效的筛选器标记。

fnCallback

应用程序定义的回调函数的过程实例地址。

dwInstance

一个 32 位 (DWORD) 64 位 (DWORD_PTR) 应用程序定义的值,该值随 ACM 筛选器详细信息一起传递给回调函数。

fdwEnum

用于枚举给定筛选器标记的筛选器的标志。 定义了以下值。

[ACMFILTERDETAILS] (./nf-msacm-acmfilterdetails.md) 结构有效。 枚举器将仅枚举符合此属性的筛选器。 ACMFILTERDETAILS 结构的 dwFilterTag 成员必须等于 WAVEFILTER 结构的 dwFilterTag 成员。
含义
ACM_FILTERENUMF_DWFILTERTAG

返回值

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

返回代码 说明
ACMERR_NOTPOSSIBLE
无法返回筛选器的详细信息。
MMSYSERR_INVALFLAG
至少有一个标志无效。
MMSYSERR_INVALHANDLE
指定的句柄无效。
MMSYSERR_INVALPARAM
至少有一个参数无效。

注解

如果未安装合适的 ACM 驱动程序,则 acmFilterEnum 函数将返回MMSYSERR_NOERROR (零) 。 此外,不会调用回调函数。

不应从回调函数中调用以下函数: acmDriverAddacmDriverRemoveacmDriverPriority

要求

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

另请参阅

音频压缩函数

音频压缩管理器