Microsoft Windows CE 3.0  


This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

This message requests an ACM driver to choose a preferred destination format for a conversion with a specified source format.


Specifies a driver instance identifier. The driver returns this value in response to the ACM_Openfunction.
Handle to a driver.
Specifies this message.
Pointer to an ACMDRVFORMATSUGGESTstructure declared in the Msacmdrv.h header file.
Not used.

Return Values

MMSYSERR_NOERROR indicates success. Otherwise, the driver returns one of the MMSYSERR error values declared in the Mmsystem.h header file or one of the ACMERR error values declared in the Msacm.h header file. The following are possible error values:

The driver does not support format suggestion operations.
The driver cannot suggest a destination format, based on the specified source format and restriction flags.


The ACM (Waveapi.dll) sends this message by calling the ACM driver's ACM_IOControlentry point through the DeviceIoControlfunction. The ACM sends this message when an application calls the acmFormatSuggestfunction.

All ACM drivers that provide stream conversions must support this message.

ACMDRVFORMATSUGGESTcontains pointers to two WAVEFORMATEXstructures. One of these structures describes the client-specified source format. The other structure is used by the driver to return a suggested destination format. The client might specify values for some of the destination structure members in order to restrict the possible suggestions.

Given the specified source format and destination restrictions, if any, the driver determines if it can provide a conversion from the specified source format to a particular destination format. If it can, it returns a description of that format in the destination WAVEFORMATEXstructure.

Before calling the driver's ACM_IOControlfunction, the ACM should verify the following conditions: