ReactOS  0.4.15-dev-3187-ge372f2b
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 94 of file atlcom.h.

Constructor & Destructor Documentation

◆ ~CComObjectRootEx()

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

Definition at line 99 of file atlcom.h.

100  {
101  }

Member Function Documentation

◆ _AtlInitialConstruct()

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

Definition at line 125 of file atlcom.h.

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

◆ InternalAddRef()

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

Definition at line 103 of file atlcom.h.

104  {
105  ATLASSERT(m_dwRef >= 0);
107  }
#define ATLASSERT(x)
Definition: CComVariant.cpp:10
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 109 of file atlcom.h.

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

◆ Lock()

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

Definition at line 115 of file atlcom.h.

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

◆ Unlock()

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

Definition at line 120 of file atlcom.h.

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

Member Data Documentation

◆ m_critsec

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

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