ComTypes.hpp File Reference

Common COM types and macros. More...

#include <Core/IFacePtr.hpp>
#include <WCL/StrCvt.hpp>
#include <WCL/ComException.hpp>
#include <WCL/Win32Exception.hpp>

Namespaces

namespace  COM

Defines

#define COMCALL   STDMETHODCALLTYPE
 The COM calling convention.
#define COMAPI   virtual HRESULT COMCALL
 The standard COM return type and calling convention,.
#define IMPLEMENT_IUNKNOWN()
 Implements IUnknown and ISupportErrorInfo.
#define DEFINE_INTERFACE_TABLE(primary_iface)
 Implements interface_cast to match and downcast to the rquired interface.
#define IMPLEMENT_INTERFACE(iid, iface_name)
 Adds a match for an interface.
#define END_INTERFACE_TABLE()
 End of CastInterfaceImpl implementation.

Enumerations

enum  COM::ServerType { COM::INPROC_SERVER = 1, COM::LOCAL_SERVER = 2 }
 COM server type. More...
enum  COM::ThreadingModel {
  COM::MAIN_THREAD_APT = 1, COM::SINGLE_THREAD_APT = 2, COM::FREE_THREAD_APT = 3, COM::ANY_APARTMENT = 4,
  COM::NEUTRAL_APARTMENT = 5
}
 COM threading model. More...


Detailed Description

Common COM types and macros.

Author:
Chris Oldwood

Define Documentation

#define COMCALL   STDMETHODCALLTYPE

The COM calling convention.

#define COMAPI   virtual HRESULT COMCALL

The standard COM return type and calling convention,.

 
#define IMPLEMENT_IUNKNOWN (  ) 

Value:

virtual ULONG COMCALL AddRef()      \
                                    {   return AddRefImpl();    }       \
                                    virtual ULONG COMCALL Release()     \
                                    {   return ReleaseImpl();   }       \
                                    virtual HRESULT COMCALL QueryInterface(const IID& rIID, void** ppInterface)     \
                                    {   return QueryInterfaceImpl(rIID, ppInterface);   }                           \
                                    virtual HRESULT COMCALL InterfaceSupportsErrorInfo(const IID& rIID)             \
                                    {   return InterfaceSupportsErrorInfoImpl(rIID);    }
Implements IUnknown and ISupportErrorInfo.

#define DEFINE_INTERFACE_TABLE ( primary_iface   ) 

Value:

virtual void* interface_cast(const IID& rIID)           \
                                    {                                                       \
                                        if (IsEqualIID(rIID, IID_IUnknown))                 \
                                            return static_cast<primary_iface*>(this);       \
                                        if (IsEqualIID(rIID, IID_ISupportErrorInfo))        \
                                            return static_cast<ISupportErrorInfo*>(this);
Implements interface_cast to match and downcast to the rquired interface.

#define IMPLEMENT_INTERFACE ( iid,
iface_name   ) 

Value:

if (IsEqualIID(rIID, iid))                          \
                                            return static_cast<iface_name*>(this);
Adds a match for an interface.

 
#define END_INTERFACE_TABLE (  ) 

Value:

return nullptr;                                     \
                                    }
End of CastInterfaceImpl implementation.


Generated on Wed Feb 13 22:53:38 2008 for COM Library by  doxygen 1.5.2