IWMCodecInfo2::GetCodecFormatDesc method (wmsdkidl.h)
[The feature associated with this page, Windows Media Format 11 SDK, is a legacy feature. It has been superseded by Source Reader and Sink Writer. Source Reader and Sink Writer have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use Source Reader and Sink Writer instead of Windows Media Format 11 SDK, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
The GetCodecFormatDesc method retrieves a description of a specified codec format. This method also retrieves a stream configuration object containing the settings for the codec format.
Syntax
HRESULT GetCodecFormatDesc(
[in] REFGUID guidType,
[in] DWORD dwCodecIndex,
[in] DWORD dwFormatIndex,
[out] IWMStreamConfig **ppIStreamConfig,
[out] WCHAR *wszDesc,
[in, out] DWORD *pcchDesc
);
Parameters
[in] guidType
GUID identifying the major type of digital media. This must be one of the following constants.
Constant | Description |
---|---|
WMMEDIATYPE_Video | Specifies a video codec. |
WMMEDIATYPE_Audio | Specifies an audio codec. |
[in] dwCodecIndex
DWORD containing the codec index ranging from zero to one less than the number of supported codecs of the type specified by guidType. To retrieve the number of individual codecs supporting a major type, use the IWMCodecInfo::GetCodecInfoCount method.
[in] dwFormatIndex
DWORD containing the format index ranging from zero to one less than the number of supported formats. To retrieve the number of individual formats supported by a codec, use the IWMCodecInfo::GetCodecFormatCount method.
[out] ppIStreamConfig
Pointer to a pointer to the IWMStreamConfig interface of a stream configuration object containing the settings of the specified format. When calling GetCodecFormatDesc to retrieve the size of the description string, pass NULL for this parameter.
[out] wszDesc
Pointer to a wide-character null-terminated string containing the codec format description.
[in, out] pcchDesc
On input, a pointer to the length of the wszDesc buffer. On output, a pointer to the length of the codec format description string, including the terminating null character.
Return value
The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.
Return code | Description |
---|---|
|
The method succeeded. |
|
An invalid or null value has been passed in. |
Remarks
You should make two calls to GetCodecFormatDesc. On the first call, pass NULL as wszDesc. On return, the value pointed to by pcchDesc will be set to the number of wide characters required to hold the description, including the terminating null character. Then you can allocate a buffer of the appropriate size and pass a pointer to it as wszDesc on the second call.
Some formats of the Windows Media Audio 9 codec and Windows Media Audio 9 Professional codec have very similar descriptions. For example both "64 kbps, 44 kHz, stereo CBR" and "64 kbps, 44 kHz, stereo (A/V) CBR" are listed. In these cases, the format with "(A/V)" in its description is designed for use in files that also contain one or more video streams. The other format is for files that contain only audio.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only],Windows Media Format 7 SDK, or later versions of the SDK |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | wmsdkidl.h (include Wmsdk.h) |
Library | Wmvcore.lib; WMStubDRM.lib (if you use DRM) |