C++ API Goals
To meet current and future customer demand for object-oriented (OO) implementations.
To expose the object-oriented aspects of the DRM at the interface level. For example, using C++ class hierarchies for DRM objects.
To balance the use of OO facilities vs. providing consistency with the current interfaces and capabilities.
To minimize the economic impact (maintainability, development) of multiple baseline implementations.
To provide a portable interface/implementation to other languages (e.g. Java) and access through COM interfaces
To ease the learning curve for new users and users of OO languages.