The ACMDM_FORMAT_SUGGEST message requests an ACM driver to suggest a destination format for a conversion, given a specified source format.
The driver should return MMSYSERR_NOERROR if the operation succeeds. Otherwise it should return one of the MMSYSERR error codes defined in Mmsystem.h, or one of the ACMERR error codes defined in Msacm.h. Possible error codes include:
Value | Description |
---|---|
MMSYSERR_NOTSUPPORTED | The driver does not support format suggestion operations. |
ACMERR_NOTPOSSIBLE | The driver cannot suggest a destination format, based on the specified source format and restriction flags. |
The ACM (WAVEAPI.DLL) sends the ACMDM_FORMAT_SUGGEST message by calling the ACM driver's ACM_IOControl() entry point via DeviceIoControl(). The ACM sends this message when an application calls the acmFormatSuggest function, which is described in the Win32 SDK.
All ACM drivers that provide stream conversions must support this message.
The ACMDRVFORMATSUGGEST structure contains pointers to two WAVEFORMATEX structures. 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. For more information, see the description of ACMDRVFORMATSUGGEST.
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 some destination format. If it can, it returns a description of that format in the destination WAVEFORMATEX structure.
Before calling the driver's ACM_IOControl function, the ACM verifies that: