ReactOS  0.4.12-dev-90-g2e2e63e
ATL::CComObjectRootEx< ThreadModel > Class Template Reference

#include <atlcom.h>

Inheritance diagram for ATL::CComObjectRootEx< ThreadModel >:
Collaboration diagram for ATL::CComObjectRootEx< ThreadModel >:

Public Member Functions

 ~CComObjectRootEx ()
 
ULONG InternalAddRef ()
 
ULONG InternalRelease ()
 
void Lock ()
 
void Unlock ()
 
HRESULT _AtlInitialConstruct ()
 
- Public Member Functions inherited from ATL::CComObjectRootBase
 CComObjectRootBase ()
 
 ~CComObjectRootBase ()
 
void SetVoid (void *)
 
HRESULT _AtlFinalConstruct ()
 
HRESULT FinalConstruct ()
 
void InternalFinalConstructAddRef ()
 
void InternalFinalConstructRelease ()
 
void FinalRelease ()
 

Private Attributes

ThreadModel::AutoDeleteCriticalSection m_critsec
 

Additional Inherited Members

- Static Public Member Functions inherited from ATL::CComObjectRootBase
static void WINAPI ObjectMain (bool)
 
static const struct _ATL_CATMAP_ENTRYGetCategoryMap ()
 
static HRESULT WINAPI InternalQueryInterface (void *pThis, const _ATL_INTMAP_ENTRY *pEntries, REFIID iid, void **ppvObject)
 
- Public Attributes inherited from ATL::CComObjectRootBase
LONG m_dwRef
 

Detailed Description

template<class ThreadModel>
class ATL::CComObjectRootEx< ThreadModel >

Definition at line 93 of file atlcom.h.

Constructor & Destructor Documentation

◆ ~CComObjectRootEx()

template<class ThreadModel>
ATL::CComObjectRootEx< ThreadModel >::~CComObjectRootEx ( )
inline

Definition at line 98 of file atlcom.h.

99  {
100  }

Member Function Documentation

◆ _AtlInitialConstruct()

template<class ThreadModel>
HRESULT ATL::CComObjectRootEx< ThreadModel >::_AtlInitialConstruct ( )
inline

Definition at line 124 of file atlcom.h.

125  {
126  return m_critsec.Init();
127  }
ThreadModel::AutoDeleteCriticalSection m_critsec
Definition: atlcom.h:96

◆ InternalAddRef()

template<class ThreadModel>
ULONG ATL::CComObjectRootEx< ThreadModel >::InternalAddRef ( )
inline

Definition at line 102 of file atlcom.h.

103  {
104  ATLASSERT(m_dwRef >= 0);
106  }
#define ATLASSERT(x)
Definition: CComVariant.cpp:9
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG Increment
Definition: CrNtStubs.h:42

◆ InternalRelease()

template<class ThreadModel>
ULONG ATL::CComObjectRootEx< ThreadModel >::InternalRelease ( )
inline

Definition at line 108 of file atlcom.h.

109  {
110  ATLASSERT(m_dwRef > 0);
111  return ThreadModel::Decrement(&m_dwRef);
112  }
#define ATLASSERT(x)
Definition: CComVariant.cpp:9

◆ Lock()

template<class ThreadModel>
void ATL::CComObjectRootEx< ThreadModel >::Lock ( void  )
inline

Definition at line 114 of file atlcom.h.

115  {
116  m_critsec.Lock();
117  }
ThreadModel::AutoDeleteCriticalSection m_critsec
Definition: atlcom.h:96

◆ Unlock()

template<class ThreadModel>
void ATL::CComObjectRootEx< ThreadModel >::Unlock ( void  )
inline

Definition at line 119 of file atlcom.h.

120  {
121  m_critsec.Unlock();
122  }
ThreadModel::AutoDeleteCriticalSection m_critsec
Definition: atlcom.h:96

Member Data Documentation

◆ m_critsec

template<class ThreadModel>
ThreadModel::AutoDeleteCriticalSection ATL::CComObjectRootEx< ThreadModel >::m_critsec
private

Definition at line 96 of file atlcom.h.


The documentation for this class was generated from the following file: