ACMDM_FORMATTAG_DETAILS

This message requests an ACM driver to return information about a format tag.

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 ACMFORMATTAGDETAILS structure. ACMFORMATTAGDETAILS is declared in the Msacm.h header file.
lParam2
Contains one of the following flags specified by the fdwDetails parameter of the acmFormatTagDetails function:
ACM_FORMATTAGDETAILSF_INDEX
Indicates that the dwFormatTagIndex member of ACMFORMATTAGDETAILS contains a format tag index. The valid index range is from 0 to 1 less than the cFormatTags member returned in the driver’s ACMDRIVERDETAILS structure.

The driver should return details for the format tag associated with the index.

ACM_FORMATTAGDETAILSF_FORMATTAG
Indicates that the dwFormatTag member of ACMFORMATTAGDETAILS contains a format tag.

The driver returns details for the specified format tag.

ACM_FORMATTAGDETAILSF_LARGESTSIZE
Indicates that the driver should return details for the format tag that has the largest format. The dwFormatTag member of ACMFORMATTAGDETAILS can contain a format tag or WAVE_FORMAT_UNKNOWN.

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 the specified query operation.
ACMERR_NOTPOSSIBLE
The input parameter values do not represent valid formats or format tags.

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 acmFormatTagDetails function.

All ACM drivers must support this message.

The client specifies the format tag in the dwFormatTag member of ACMFORMATTAGDETAILS. The driver returns the following information for a particular tag:

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

If the format tag is WAVE_FORMAT_PCM, the driver return a 0-length string in szFormatTag. The ACM provides a description string for this format.

Before returning, the driver must set the cbStruct member of ACMFORMATTAGDETAILS to the actual number of bytes returned. The value returned in cbStruct must not be greater than the value received.

For more information about format tags and filter tags, see the Windows NT DDK.

See Also

ACMDM_DRIVER_DETAILS