Profile 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 object manages the settings of a profile. Profile objects can be created for existing profile data or can be created empty, ready to receive new data. A profile object is also created by the reader object (and the synchronous reader object) when a file is loaded for reading. In this case the object is populated with the profile information stored in the header of the file.
To save the contents of a profile object, you must call IWMProfileManager::SaveProfile.
A profile contains multiple objects that control various aspects of the profile (such as streams). All of these objects are subordinate to the profile object. You do not create these objects with creation functions as you would with the major objects of this SDK. Instead, the interfaces of the profile object contain methods that create the subordinate objects.
To create a profile object, call one of the following methods.
Method | Description |
---|---|
IWMProfileManager::CreateEmptyProfile | Creates a profile object without any profile data. |
IWMProfileManager::LoadProfileByData | Creates a profile object populated with data from a profile saved as a string. This is the only way to create a profile object with data from a custom profile. |
IWMProfileManager::LoadProfileByID | Creates a profile object populated with data from a system profile. Uses the GUID to identify the desired system profile. |
IWMProfileManager::LoadSystemProfile | Creates a profile object populated with data from a system profile. Uses the profile index to identify the desired system profile. |
All of the methods in the preceding table set a pointer to an IWMProfile interface. The other interfaces of the profile object can be obtained by calling the QueryInterface method.
The following interfaces are supported by every profile object.
Interface | Description |
---|---|
IWMLanguageList | Manages a list of languages supported by an ASF file. |
IWMPacketSize | Controls the maximum size of packets in a file. |
IWMPacketSize2 | Controls the minimum size of packets in a file. Inherits all of the methods of IWMPacketSize. |
IWMProfile | Controls the basic settings and objects included in a profile. |
IWMProfile2 | Retrieves the globally unique identifier (GUID) associated with the profile. Inherits all of the methods of IWMProfile. |
IWMProfile3 | Controls bandwidth sharing and stream prioritization information in a profile. Inherits all of the methods of IWMProfile and IWMProfile2. |
Related topics