acmFilterTagEnumCallback callback function

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.


BOOL CALLBACK acmFilterTagEnumCallback(
   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
ACMDRIVERDETAILS_SUPPORTF_ASYNCDriver supports asynchronous conversions with the specified filter tag.
ACMDRIVERDETAILS_SUPPORTF_CODECDriver 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_CONVERTERDriver 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_FILTERDriver 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_HARDWAREDriver 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 value

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


The acmFilterTagEnum function returns 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.


Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]



See also

Audio Compression Manager
Audio Compression Functions