ReactOS 0.4.15-dev-8127-g6338913
atlcom.h File Reference
#include <cguid.h>
#include <pseh/pseh2.h>
Include dependency graph for atlcom.h:

Go to the source code of this file.

Classes

class  ATL::CComObjectRootBase
 
class  ATL::CComObjectRootEx< ThreadModel >
 
class  ATL::CComObject< Base >
 
class  ATL::CComContainedObject< Base >
 
class  ATL::CComAggObject< contained >
 
class  ATL::CComPolyObject< contained >
 
class  ATL::CComFailCreator< hResult >
 
class  ATL::CComCreator< T1 >
 
class  ATL::CComCreator2< T1, T2 >
 
class  ATL::CComObjectCached< Base >
 
class  ATL::CComObjectNoLock< Base >
 
class  ATL::CComClassFactory
 
class  ATL::CComClassFactorySingleton< T >
 
class  ATL::CComCoClass< T, pclsid >
 
class  ATL::_Copy< T >
 
class  ATL::_Copy< CONNECTDATA >
 
class  ATL::_CopyInterface< T >
 
class  ATL::CComEnumImpl< Base, piid, T, Copy >
 
class  ATL::CComEnum< Base, piid, T, Copy, ThreadModel >
 
class  ATL::CComDynamicUnkArray
 
struct  ATL::_ATL_CONNMAP_ENTRY
 
class  ATL::_ICPLocator< piid >
 
class  ATL::IConnectionPointImpl< T, piid, CDV >
 
class  ATL::IConnectionPointContainerImpl< T >
 
class  ATL::IDispatchImpl< T, piid, plibid, wMajor, wMinor >
 

Namespaces

namespace  ATL
 

Macros

#define DECLARE_CLASSFACTORY_EX(cf)   typedef ATL::CComCreator<ATL::CComObjectNoLock<cf>> _ClassFactoryCreatorClass;
 
#define DECLARE_CLASSFACTORY()   DECLARE_CLASSFACTORY_EX(ATL::CComClassFactory)
 
#define DECLARE_CLASSFACTORY_SINGLETON(obj)   DECLARE_CLASSFACTORY_EX(ATL::CComClassFactorySingleton<obj>)
 
#define BEGIN_COM_MAP(x)
 
#define END_COM_MAP()
 
#define COM_INTERFACE_ENTRY_IID(iid, x)    {&iid, offsetofclass(x, _ComMapClass), _ATL_SIMPLEMAPENTRY},
 
#define COM_INTERFACE_ENTRY(x)
 
#define COM_INTERFACE_ENTRY2_IID(iid, x, x2)
 
#define COM_INTERFACE_ENTRY_BREAK(x)
 
#define COM_INTERFACE_ENTRY_NOINTERFACE(x)
 
#define COM_INTERFACE_ENTRY_FUNC(iid, dw, func)
 
#define COM_INTERFACE_ENTRY_FUNC_BLIND(dw, func)
 
#define COM_INTERFACE_ENTRY_CHAIN(classname)
 
#define DECLARE_NO_REGISTRY()
 
#define DECLARE_REGISTRY_RESOURCEID(x)
 
#define DECLARE_NOT_AGGREGATABLE(x)
 
#define DECLARE_AGGREGATABLE(x)
 
#define DECLARE_ONLY_AGGREGATABLE(x)
 
#define DECLARE_POLY_AGGREGATABLE(x)
 
#define COM_INTERFACE_ENTRY_AGGREGATE(iid, punk)
 
#define DECLARE_GET_CONTROLLING_UNKNOWN()
 
#define DECLARE_PROTECT_FINAL_CONSTRUCT()
 
#define BEGIN_OBJECT_MAP(x)   static ATL::_ATL_OBJMAP_ENTRY x[] = {
 
#define END_OBJECT_MAP()   {NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL}};
 
#define OBJECT_ENTRY(clsid, class)
 
#define OBJECT_ENTRY_AUTO(clsid, class)
 
#define _DEFAULT_VECTORLENGTH   4
 
#define BEGIN_CONNECTION_POINT_MAP(x)
 
#define END_CONNECTION_POINT_MAP()
 
#define CONNECTION_POINT_ENTRY(iid)
 

Enumerations

enum  ATL::CComEnumFlags { ATL::AtlFlagNoCopy = 0 , ATL::AtlFlagTakeOwnership = 2 , ATL::AtlFlagCopy = 3 }
 

Macro Definition Documentation

◆ _DEFAULT_VECTORLENGTH

#define _DEFAULT_VECTORLENGTH   4

Definition at line 1103 of file atlcom.h.

◆ BEGIN_COM_MAP

#define BEGIN_COM_MAP (   x)
Value:
public: \
typedef x _ComMapClass; \
HRESULT _InternalQueryInterface(REFIID iid, void **ppvObject) \
{ \
return this->InternalQueryInterface(this, _GetEntries(), iid, ppvObject); \
} \
const static ATL::_ATL_INTMAP_ENTRY *WINAPI _GetEntries() \
{ \
static const ATL::_ATL_INTMAP_ENTRY _entries[] = {
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
#define REFIID
Definition: guiddef.h:118
Definition: atlbase.h:151
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082
#define WINAPI
Definition: msvc.h:6

Definition at line 581 of file atlcom.h.

◆ BEGIN_CONNECTION_POINT_MAP

#define BEGIN_CONNECTION_POINT_MAP (   x)
Value:
typedef x _atl_conn_classtype; \
static const ATL::_ATL_CONNMAP_ENTRY *GetConnMap(int *pnEntries) { \
static const ATL::_ATL_CONNMAP_ENTRY _entries[] = {
Definition: atlcom.h:1236

Definition at line 1483 of file atlcom.h.

◆ BEGIN_OBJECT_MAP

#define BEGIN_OBJECT_MAP (   x)    static ATL::_ATL_OBJMAP_ENTRY x[] = {

Definition at line 689 of file atlcom.h.

◆ COM_INTERFACE_ENTRY

#define COM_INTERFACE_ENTRY (   x)
Value:
{&_ATL_IIDOF(x), \
offsetofclass(x, _ComMapClass), \
#define _ATL_SIMPLEMAPENTRY
Definition: atlbase.h:148

Definition at line 604 of file atlcom.h.

◆ COM_INTERFACE_ENTRY2_IID

#define COM_INTERFACE_ENTRY2_IID (   iid,
  x,
  x2 
)
Value:
{&iid, \
reinterpret_cast<DWORD_PTR>(static_cast<x *>(static_cast<x2 *>(reinterpret_cast<_ComMapClass *>(_ATL_PACKING)))) - _ATL_PACKING, \
#define _ATL_PACKING
Definition: atlcomcli.h:32
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG x2
Definition: winddi.h:3710

Definition at line 609 of file atlcom.h.

◆ COM_INTERFACE_ENTRY_AGGREGATE

#define COM_INTERFACE_ENTRY_AGGREGATE (   iid,
  punk 
)
Value:
{&iid, \
(DWORD_PTR)offsetof(_ComMapClass, punk), \
_Delegate},
#define offsetof(TYPE, MEMBER)
#define DWORD_PTR
Definition: treelist.c:76

Definition at line 667 of file atlcom.h.

◆ COM_INTERFACE_ENTRY_BREAK

#define COM_INTERFACE_ENTRY_BREAK (   x)
Value:
{&_ATL_IIDOF(x), \
NULL, \
_Break},
#define NULL
Definition: types.h:112

Definition at line 614 of file atlcom.h.

◆ COM_INTERFACE_ENTRY_CHAIN

#define COM_INTERFACE_ENTRY_CHAIN (   classname)
Value:
{NULL, \
reinterpret_cast<DWORD>(&_CComChainData<classname, _ComMapClass>::data), \
_Chain},

Definition at line 634 of file atlcom.h.

◆ COM_INTERFACE_ENTRY_FUNC

#define COM_INTERFACE_ENTRY_FUNC (   iid,
  dw,
  func 
)
Value:
{&iid, \
dw, \
func},
GLenum func
Definition: glext.h:6028
REFIID LPVOID DWORD_PTR dw
Definition: atlbase.h:40

Definition at line 624 of file atlcom.h.

◆ COM_INTERFACE_ENTRY_FUNC_BLIND

#define COM_INTERFACE_ENTRY_FUNC_BLIND (   dw,
  func 
)
Value:
{NULL, \
dw, \
func},

Definition at line 629 of file atlcom.h.

◆ COM_INTERFACE_ENTRY_IID

#define COM_INTERFACE_ENTRY_IID (   iid,
  x 
)     {&iid, offsetofclass(x, _ComMapClass), _ATL_SIMPLEMAPENTRY},

Definition at line 601 of file atlcom.h.

◆ COM_INTERFACE_ENTRY_NOINTERFACE

#define COM_INTERFACE_ENTRY_NOINTERFACE (   x)
Value:
{&_ATL_IIDOF(x), \
NULL, \
_NoInterface},

Definition at line 619 of file atlcom.h.

◆ CONNECTION_POINT_ENTRY

#define CONNECTION_POINT_ENTRY (   iid)
Value:
{offsetofclass(ATL::_ICPLocator<&iid>, _atl_conn_classtype) - \
offsetofclass(ATL::IConnectionPointContainerImpl<_atl_conn_classtype>, _atl_conn_classtype)},
#define offsetofclass(base, derived)
Definition: atldef.h:52

Definition at line 1494 of file atlcom.h.

◆ DECLARE_AGGREGATABLE

#define DECLARE_AGGREGATABLE (   x)

◆ DECLARE_CLASSFACTORY

#define DECLARE_CLASSFACTORY ( )    DECLARE_CLASSFACTORY_EX(ATL::CComClassFactory)

Definition at line 39 of file atlcom.h.

◆ DECLARE_CLASSFACTORY_EX

#define DECLARE_CLASSFACTORY_EX (   cf)    typedef ATL::CComCreator<ATL::CComObjectNoLock<cf>> _ClassFactoryCreatorClass;

Definition at line 37 of file atlcom.h.

◆ DECLARE_CLASSFACTORY_SINGLETON

#define DECLARE_CLASSFACTORY_SINGLETON (   obj)    DECLARE_CLASSFACTORY_EX(ATL::CComClassFactorySingleton<obj>)

Definition at line 40 of file atlcom.h.

◆ DECLARE_GET_CONTROLLING_UNKNOWN

#define DECLARE_GET_CONTROLLING_UNKNOWN ( )
Value:
public: \
virtual IUnknown *GetControllingUnknown() \
{ \
return GetUnknown(); \
}

Definition at line 672 of file atlcom.h.

◆ DECLARE_NO_REGISTRY

#define DECLARE_NO_REGISTRY ( )
Value:
static HRESULT WINAPI UpdateRegistry(BOOL /*bRegister*/) \
{ \
return S_OK; \
}
unsigned int BOOL
Definition: ntddk_ex.h:94
#define S_OK
Definition: intsafe.h:52
ERROR_NUMBER UpdateRegistry(IN OUT PUSETUP_DATA pSetupData, IN BOOLEAN RepairUpdateFlag, IN PPARTLIST PartitionList, IN WCHAR DestinationDriveLetter, IN PCWSTR SelectedLanguageId, IN PREGISTRY_STATUS_ROUTINE StatusRoutine OPTIONAL, IN PFONTSUBSTSETTINGS SubstSettings OPTIONAL)
Definition: setuplib.c:907

Definition at line 639 of file atlcom.h.

◆ DECLARE_NOT_AGGREGATABLE

#define DECLARE_NOT_AGGREGATABLE (   x)

◆ DECLARE_ONLY_AGGREGATABLE

#define DECLARE_ONLY_AGGREGATABLE (   x)
Value:

Definition at line 659 of file atlcom.h.

◆ DECLARE_POLY_AGGREGATABLE

#define DECLARE_POLY_AGGREGATABLE (   x)
Value:
public: \
typedef ATL::CComCreator<ATL::CComPolyObject<x> > _CreatorClass;

Definition at line 663 of file atlcom.h.

◆ DECLARE_PROTECT_FINAL_CONSTRUCT

#define DECLARE_PROTECT_FINAL_CONSTRUCT ( )
Value:
void InternalFinalConstructAddRef() \
{ \
InternalAddRef(); \
} \
void InternalFinalConstructRelease() \
{ \
InternalRelease(); \
}

Definition at line 679 of file atlcom.h.

◆ DECLARE_REGISTRY_RESOURCEID

#define DECLARE_REGISTRY_RESOURCEID (   x)
Value:
static HRESULT WINAPI UpdateRegistry(BOOL bRegister) \
{ \
return ATL::_pAtlModule->UpdateRegistryFromResource(x, bRegister); \
}

Definition at line 645 of file atlcom.h.

◆ END_COM_MAP

#define END_COM_MAP ( )
Value:
{NULL, 0, 0} \
}; \
return _entries; \
} \
virtual ULONG STDMETHODCALLTYPE AddRef() = 0; \
virtual ULONG STDMETHODCALLTYPE Release() = 0; \
STDMETHOD(QueryInterface)(REFIID, void **) = 0;
#define STDMETHODCALLTYPE
Definition: bdasup.h:9
_In_ BOOLEAN Release
Definition: cdrom.h:920
static HRESULT QueryInterface(REFIID, void **)
Definition: events.c:2587
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
uint32_t ULONG
Definition: typedefs.h:59

Definition at line 592 of file atlcom.h.

◆ END_CONNECTION_POINT_MAP

#define END_CONNECTION_POINT_MAP ( )
Value:
{(DWORD_PTR)-1} }; \
if (pnEntries) \
*pnEntries = sizeof(_entries) / sizeof(ATL::_ATL_CONNMAP_ENTRY) - 1; \
return _entries;}

Definition at line 1488 of file atlcom.h.

◆ END_OBJECT_MAP

#define END_OBJECT_MAP ( )    {NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL}};

Definition at line 691 of file atlcom.h.

◆ OBJECT_ENTRY

#define OBJECT_ENTRY (   clsid,
  class 
)
Value:
{ \
&clsid, \
class::UpdateRegistry, \
class::_ClassFactoryCreatorClass::CreateInstance, \
class::_CreatorClass::CreateInstance, \
NULL, \
0, \
class::GetObjectDescription, \
class::GetCategoryMap, \
class::ObjectMain },
REFCLSID clsid
Definition: msctf.c:82

Definition at line 693 of file atlcom.h.

◆ OBJECT_ENTRY_AUTO

#define OBJECT_ENTRY_AUTO (   clsid,
  class 
)
Value:
ATL::_ATL_OBJMAP_ENTRY __objMap_##class = { \
&clsid, \
class ::UpdateRegistry, \
class ::_ClassFactoryCreatorClass::CreateInstance, \
class ::_CreatorClass::CreateInstance, \
NULL, \
0, \
class ::GetObjectDescription, \
class ::GetCategoryMap, \
class ::ObjectMain}; \
extern "C" _ATLALLOC("ATL$__m") ATL::_ATL_OBJMAP_ENTRY *const __pobjMap_##class = &__objMap_##class; \
OBJECT_ENTRY_PRAGMA(class)
Definition: rosdlgs.h:6
#define const
Definition: zconf.h:233

Definition at line 707 of file atlcom.h.