Inheritance diagram for com_type:
Implements all the IUnknown functionality of a COM server: referencing counting and interface vending. This uses a static map of interface pointer offsets for fast vending and reduced instance space, while preserving thread safety.
To write a COM server vending interfaces I1, I2..., just inherit from com_type <typelist <I1, I2...> > and implement the abstract members of I1, I2... We do the rest!
|IList||A macstl::typelist of COM interfaces to implement.|
Public Member Functions
|virtual ULONG STDMETHODCALLTYPE||AddRef ()|
|Adds a reference to the object. |
|virtual HRESULT STDMETHODCALLTYPE||QueryInterface (REFIID iid, LPVOID *ppv)|
|Queries for an interface ppv for the identifier iid. |
|virtual ULONG STDMETHODCALLTYPE||Release ()|
|Releases a reference. When there are no more references, frees the object. |