[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 Windows Media Format SDK uses several objects to read, write, edit, and index ASF files, and to create and edit profiles. Each object supports a number of interfaces. Some interfaces are supported in multiple objects. In these cases, any differences in implementation are discussed in the reference section for the interface.
The objects in the Windows Media Format SDK are COM compliant. To make development easier, every object has an associated creation function or method. You should create objects by using the creation function or method rather than manually using the COM function CoCreateInstance.
Some interfaces have a number appended to their names, such as IWMProfile2 and IWMWriter3. In each case, the numbered versions inherit all the methods of the earlier versions and add new functionality.
On each object page of this reference, the interfaces included in the main COM object are listed first, followed by callback interfaces that must be implemented by the application.
The following table lists the objects supported by this SDK with a description of the functionality of each and the function used to create it.
Converts media data that is DRM-protected into a data stream that can be sent to devices that use the Windows Media DRM 10 for Network Devices protocol.
Manages bandwidth sharing information in a profile. More than one bandwidth sharing object may exist for a profile. There are different methods for creating a bandwidth sharing object depending upon whether you want to create a new bandwidth sharing object or access an existing one.
Manages mutual exclusion information in a profile. Common uses for mutual exclusion are multiple bit rate content and soundtracks in several languages. There are different methods for creating a mutual exclusion object depending upon whether you want to create a new mutual exclusion object or access an existing one.
Manages the properties of an output. One output media properties object can exist for each output. These objects can be created by the reader or by the synchronous reader
Contains the data in a profile while it is being manipulated. Profile objects are created any time the profile needs to be manipulated. There are different methods for creating a profile object depending upon whether you want to create a new profile or access an existing one.
Manages the properties of a stream within a profile. Stream configuration objects are created by stream objects any time you need to access the information about a stream. There are different methods for creating a stream configuration object depending upon whether you want to create a new stream or access and existing one.
Maintains the stream priority list for a profile. The streams will be dropped in order of increasing priority if available bandwidth is restricted. There can only be one stream prioritization object in a profile.
This learning path covers Windows Management Instrumentation (WMI) and Common Information Model (CIM). These technologies help to access information about a computer. Additionally, both technologies provide local and remote access to management information from the operating system, computer hardware, and installed software.