ACMDM_FORMAT_SUGGEST

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

Parameters

dwDriverID
Specifies a driver instance identifier. The driver returns this value in response to the ACM_Open function.
hDriver
Handle to a driver.
uMsg
Specifies this message.
lParam1
Pointer to an ACMDRVFORMATSUGGEST structure. ACMDRVFORMATSUGGEST is declared in the Msacmdrv.h header file.
lParam2
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:

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.

Remarks

The ACM (Waveapi.dll) sends this message by calling the ACM driver’s ACM_IOControl entry point through the DeviceIoControl function. The ACM sends this message when an application calls the acmFormatSuggest function.

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

ACMDRVFORMATSUGGEST 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.

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 WAVEFORMATEX structure.

Before calling the driver’s ACM_IOControl function, the ACM should verify the following conditions:

See Also