Profile Manager Object

[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.]

A profile is a set of media parameters used to create an ASF file. The profile manager object creates profile objects for editing. Profile objects can be created without any data in them or built from existing profile data. The profile manager object also provides methods for enumerating supported codecs and querying those codecs for information.

The profile manager object is created by the WMCreateProfileManager function, which sets a pointer to an IWMProfileManager interface. The other interfaces of the profile manager object can be obtained by calling the QueryInterface method.

The following interfaces are supported by the profile manager object.

Interface Description
IWMCodecInfo Retrieves information about supported codecs and their formats.
IWMCodecInfo2 Retrieves the names of the supported codecs and the descriptions of their formats. Inherits all of the methods of IWMCodecInfo.
IWMCodecInfo3 Retrieves codec properties and queries codecs for supported features. Inherits all of the methods of IWMCodecInfo and IWMCodecInfo2.
IWMProfileManager Creates new profiles, loads existing profiles, and saves custom profiles.
IWMProfileManager2 Controls the version of system profiles enumerated by the profile manager. Inherits all of the methods of IWMProfileManager.
IWMProfileManagerLanguage Controls the language of the system profiles parsed by the profile manager.

 

Remarks

When a profile manager object is created, it parses all of the system profiles, which can take several seconds. Creating and releasing a profile manager every time you need to use it will adversely affect performance. You should create a profile manager once in your application and release it only when you no longer need to use it.

Objects

Profile Object

Profiles