Direct3D Mobile and COM (Windows Embedded CE 6.0)
1/6/2010
The Microsoft® Direct3D® Mobile API is based upon the component object model (COM) but it does not have a full COM implementation. The API's functionality is grouped into a set of interfaces that all support the standard COM methods derived from IUnknown. Unlike a full COM interface implementation, however, it is not possible to call CoCreateInstance to create objects and retrieve COM interfaces to those objects. Similarly, most advanced COM functionality, such as marshalling and aggregation, is not supported by Direct3D Mobile.
The Directt3D Mobile middleware dynamic-link library (DLL), d3dm.dll, exports the function Direct3DMobileCreate. This function is used to create the Direct3DMobile object and retrieve an IDirect3DMobile interface to it. This interface contains methods for creating all other Direct3D Mobile object types an their associated interfaces.
In contrast to the standardized rules for relationships between COM Objects and their interfaces, the interfaces returned by Direct3D Mobile are used to identify the underlying object itself. All interfaces to a given object return a reference to the object in which all the interfaces are members.
For reference information see Direct3D Mobile Interfaces.