ReactOS  0.4.13-dev-551-gf37fb1f
atlcom.h File Reference
#include <cguid.h>
Include dependency graph for atlcom.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ATL::CComEnum< Base, piid, T, Copy, ThreadModel >
 
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::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

 ATL
 

Macros

#define DECLARE_CLASSFACTORY_EX(cf)   typedef ATL::CComCreator<ATL::CComObjectCached<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 _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 1044 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[] = {
#define REFIID
Definition: guiddef.h:113
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
Definition: atlbase.h:140
#define WINAPI
Definition: msvc.h:8
REFIID LPVOID * ppvObject
Definition: precomp.h:44

Definition at line 541 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[] = {
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
Definition: atlcom.h:1176

Definition at line 1424 of file atlcom.h.

◆ BEGIN_OBJECT_MAP

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

Definition at line 649 of file atlcom.h.

◆ COM_INTERFACE_ENTRY

#define COM_INTERFACE_ENTRY (   x)
Value:
{&_ATL_IIDOF(x), \
offsetofclass(x, _ComMapClass), \
_ATL_SIMPLEMAPENTRY},
GLint GLint GLint GLint GLint x
Definition: gl.h:1548

Definition at line 564 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, \
_ATL_SIMPLEMAPENTRY},
#define _ATL_PACKING
Definition: atlcomcli.h:32

Definition at line 569 of file atlcom.h.

◆ COM_INTERFACE_ENTRY_AGGREGATE

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

Definition at line 627 of file atlcom.h.

◆ COM_INTERFACE_ENTRY_BREAK

#define COM_INTERFACE_ENTRY_BREAK (   x)
Value:
{&_ATL_IIDOF(x), \
NULL, \
_Break},
GLint GLint GLint GLint GLint x
Definition: gl.h:1548

Definition at line 574 of file atlcom.h.

◆ COM_INTERFACE_ENTRY_CHAIN

#define COM_INTERFACE_ENTRY_CHAIN (   classname)
Value:
{NULL, \
reinterpret_cast<DWORD>(&_CComChainData<classname, _ComMapClass>::data), \
_Chain},
smooth NULL
Definition: ftsmooth.c:416
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950

Definition at line 594 of file atlcom.h.

◆ COM_INTERFACE_ENTRY_FUNC

#define COM_INTERFACE_ENTRY_FUNC (   iid,
  dw,
  func 
)
Value:
{&iid, \
dw, \
func},

Definition at line 584 of file atlcom.h.

◆ COM_INTERFACE_ENTRY_FUNC_BLIND

#define COM_INTERFACE_ENTRY_FUNC_BLIND (   dw,
  func 
)
Value:
{NULL, \
dw, \
func},
smooth NULL
Definition: ftsmooth.c:416

Definition at line 589 of file atlcom.h.

◆ COM_INTERFACE_ENTRY_IID

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

Definition at line 561 of file atlcom.h.

◆ COM_INTERFACE_ENTRY_NOINTERFACE

#define COM_INTERFACE_ENTRY_NOINTERFACE (   x)
Value:
{&_ATL_IIDOF(x), \
NULL, \
_NoInterface},
GLint GLint GLint GLint GLint x
Definition: gl.h:1548

Definition at line 579 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 1435 of file atlcom.h.

◆ DECLARE_AGGREGATABLE

#define DECLARE_AGGREGATABLE (   x)

◆ DECLARE_CLASSFACTORY

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

Definition at line 33 of file atlcom.h.

◆ DECLARE_CLASSFACTORY_EX

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

Definition at line 32 of file atlcom.h.

◆ DECLARE_CLASSFACTORY_SINGLETON

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

Definition at line 34 of file atlcom.h.

◆ DECLARE_GET_CONTROLLING_UNKNOWN

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

Definition at line 632 of file atlcom.h.

◆ DECLARE_NO_REGISTRY

#define DECLARE_NO_REGISTRY ( )
Value:
static HRESULT WINAPI UpdateRegistry(BOOL /*bRegister*/) \
{ \
return S_OK; \
}
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)
Definition: setuplib.c:914
unsigned int BOOL
Definition: ntddk_ex.h:94
LONG HRESULT
Definition: typedefs.h:77
#define WINAPI
Definition: msvc.h:8
#define S_OK
Definition: intsafe.h:59

Definition at line 599 of file atlcom.h.

◆ DECLARE_NOT_AGGREGATABLE

#define DECLARE_NOT_AGGREGATABLE (   x)

◆ DECLARE_ONLY_AGGREGATABLE

#define DECLARE_ONLY_AGGREGATABLE (   x)
Value:

Definition at line 619 of file atlcom.h.

◆ DECLARE_POLY_AGGREGATABLE

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

Definition at line 623 of file atlcom.h.

◆ DECLARE_PROTECT_FINAL_CONSTRUCT

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

Definition at line 639 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); \
}
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)
Definition: setuplib.c:914
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
unsigned int BOOL
Definition: ntddk_ex.h:94
LONG HRESULT
Definition: typedefs.h:77
#define WINAPI
Definition: msvc.h:8

Definition at line 605 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 REFIID
Definition: guiddef.h:113
_In_ BOOLEAN Release
Definition: classpnp.h:929
NTSTATUS QueryInterface(IN PDEVICE_OBJECT DeviceObject, IN CONST GUID InterfaceType, IN LONG Size, IN LONG Version, OUT PVOID Interface)
Definition: fdo.c:532
smooth NULL
Definition: ftsmooth.c:416
#define STDMETHODCALLTYPE
Definition: bdasup.h:9
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
unsigned int ULONG
Definition: retypes.h:1

Definition at line 552 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;}
#define DWORD_PTR
Definition: treelist.c:76
Definition: atlcom.h:1176

Definition at line 1429 of file atlcom.h.

◆ END_OBJECT_MAP

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

Definition at line 651 of file atlcom.h.

◆ OBJECT_ENTRY

#define OBJECT_ENTRY (   clsid,
  class 
)
Value:
{ \
&clsid, \
class::_ClassFactoryCreatorClass::CreateInstance, \
class::_CreatorClass::CreateInstance, \
NULL, \
0, \
class::GetObjectDescription, \
class::GetCategoryMap, \
class::ObjectMain },
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)
Definition: setuplib.c:914
REFCLSID clsid
Definition: msctf.c:84

Definition at line 653 of file atlcom.h.