The acmFilterTagEnumCallback function specifies a callback function used with the acmFilterTagEnum function. The acmFilterTagEnumCallback function name is a placeholder for an application-defined function name.

  HACMDRIVERID          hadid,      
  DWORD_PTR             dwInstance, 
  DWORD                 fdwSupport  



Handle to the ACM driver identifier.


Pointer to an ACMFILTERTAGDETAILS structure that contains the enumerated filter tag details.


Application-defined value specified in acmFilterTagEnum.


Driver-support flags specific to the driver identifier hadid. These flags are identical to the fdwSupport flags of the ACMDRIVERDETAILS structure. This parameter can be a combination of the following values and identifies which operations the driver supports with the filter tag.

Value Meaning
ACMSDRIVERDETAILS_SUPPORTF_ASYNC Driver supports asynchronous conversions with the specified filter tag.
ACMDRIVERDETAILS_SUPPORTF_CODEC Driver supports conversion between two different format tags while using the specified filter tag. For example, if a driver supports compression from WAVE_FORMAT_PCM to WAVE_FORMAT_ADPCM with the specified filter tag, this flag is set.
ACMDRIVERDETAILS_SUPPORTF_CONVERTER Driver supports conversion between two different formats of the same format tag while using the specified filter tag. For example, if a driver supports resampling of WAVE_FORMAT_PCM with the specified filter tag, this flag is set.
ACMDRIVERDETAILS_SUPPORTF_FILTER Driver supports a filter (modification of the data without changing any of the format attributes). For example, if a driver supports volume or echo operations on WAVE_FORMAT_PCM, this flag is set.
ACMDRIVERDETAILS_SUPPORTF_HARDWARE Driver supports hardware input, output, or both with the specified filter tag through a waveform-audio device. An application should use the acmMetrics function with the ACM_METRIC_HARDWARE_WAVE_INPUT and ACM_METRIC_HARDWARE_WAVE_OUTPUT metric indices to get the waveform-audio device identifiers associated with the supporting ACM driver.

Return Values

The callback function must return TRUE to continue enumeration or FALSE to stop enumeration.


The acmFilterTagEnum function will return MMSYSERR_NOERROR (zero) if no filter tags are to be enumerated. Moreover, the callback function will not be called.

The following functions should not be called from within the callback function: acmDriverAdd, acmDriverRemove, and acmDriverPriority.


  Windows NT/2000/XP: Included in Windows NT 3.1 and later.
  Windows 95/98/Me: Included in Windows 95 and later.
  Header: Declared in Msacm.h.
  Unicode: Declared as Unicode and ANSI prototypes.

See Also

Audio Compression Manager, Audio Compression Functions, acmFilterTagEnum, ACMDRIVERDETAILS, acmMetrics, acmDriverAdd, acmDriverRemove, acmDriverPriority