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. |