共用方式為


IWMCodecInfo::GetCodecFormat 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 GetCodecFormat method retrieves one format supported by a specified codec. This method retrieves a pointer to the IWMStreamConfig interface of a stream configuration object containing the stream settings for the supported format.

Syntax

HRESULT GetCodecFormat(
  [in]  REFGUID         guidType,
  [in]  DWORD           dwCodecIndex,
  [in]  DWORD           dwFormatIndex,
  [out] IWMStreamConfig **ppIStreamConfig
);

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.

Return value

The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.

Return code Description
S_OK
The method succeeded.
E_INVALIDARG
An invalid or null value has been passed in.

Remarks

Use this method along with GetCodecFormatCount to enumerate the formats supported by the codec.

The codec format describes the characteristics of the compressed data stream in the file, and has no direct correlation to the uncompressed format of the input media or the output media. The format of input media data is determined at the time of encoding, using the IWMWriter::SetInputProps method. The format of output media data is determined at the time of decoding, using the SetOutputProps method of either the IWMReader interface or the IWMSyncReader interface.

The Windows Media Format SDK provides codecs only for audio and video. If you specify another major type, this method will return an error.

The Windows Media Video codecs all support a single format that you must complete with your desired settings. When obtaining a video format, you can always use format index 1. For more information see Configuring Video Streams.

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)

See also

IWMCodecInfo Interface

IWMCodecInfo::GetCodecFormatCount

IWMStreamConfig Interface