Differences Between the Object Models

[The feature associated with this page, Windows Media Player SDK, is a legacy feature. It has been superseded by MediaPlayer. MediaPlayer has been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer instead of Windows Media Player SDK, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

There are two primary differences between the Windows Media Player 6.4 object model and the Windows Media Player 7 or later object model.

  • CLSID The Windows Media Player 7 or later object model is a complete departure from the version 6.4 object model. The Component Object Model (COM) specification requires that all existing interfaces must continue to function in new versions of a COM component. This means that new interfaces can be added to a COM component, but existing interfaces must never be altered, ensuring older client code will always work with the particular component it was designed to use. Therefore, the Windows Media Player 7 or later ActiveX control has a new class ID: 6BF52A52-394A-11D3-B153-00C04F79FAA6. If you want to take advantage of the new functionality of the control for this version, you must change your CLSID.
  • Hierarchical Object Model If you've been using the Windows Media Player 6.4 ActiveX control, you may have noticed that all the properties, methods, and events are accessed through the same object: the Player object. By contrast, the Windows Media Player 7 or later object model is organized as a hierarchy of objects. The Player object is still the root object, but functions are now accessed through a variety of child objects.

Object Model Migration Guide