acmFormatEnumCallback callback function

The acmFormatEnumCallback function specifies a callback function used with the acmFormatEnum function. The acmFormatEnumCallback name is a placeholder for the application-defined function name.


BOOL CALLBACK acmFormatEnumCallback(
   HACMDRIVERID       hadid,
   DWORD_PTR          dwInstance,
   DWORD              fdwSupport



Handle to the ACM driver identifier.


Pointer to an ACMFORMATDETAILS structure that contains the enumerated format details for a format tag.


Application-defined value specified in the acmFormatEnum function.


Driver support flags specific to the driver identified by hadid for the specified format. These flags are identical to the fdwSupport flags of the ACMDRIVERDETAILS structure, but they are specific to the format that is being enumerated. This parameter can be a combination of the following values and indicates which operations the driver supports for the format tag.

Value Meaning
ACMDRIVERDETAILS_SUPPORTF_ASYNCDriver supports asynchronous conversions with the specified filter tag.
ACMDRIVERDETAILS_SUPPORTF_CODECDriver supports conversion between two different format tags for the specified format. For example, if a driver supports compression from WAVE_FORMAT_PCM to WAVE_FORMAT_ADPCM with the specified format, this flag is set.
ACMDRIVERDETAILS_SUPPORTF_CONVERTERDriver supports conversion between two different formats of the same format tag while using the specified format. For example, if a driver supports resampling of WAVE_FORMAT_PCM to the specified format, this flag is set.
ACMDRIVERDETAILS_SUPPORTF_FILTERDriver supports a filter (modification of the data without changing any of the format attributes) with the specified format. 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 of the specified format tags 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 indexes 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 acmFormatEnum function will return MMSYSERR_NOERROR (zero) if no formats 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