ReactOS 0.4.15-dev-7918-g2a2556c
ATL::CAtlDllModuleT< T > Class Template Reference

#include <atlbase.h>

Inheritance diagram for ATL::CAtlDllModuleT< T >:
Collaboration diagram for ATL::CAtlDllModuleT< T >:

Public Member Functions

 CAtlDllModuleT ()
 
 ~CAtlDllModuleT ()
 
HRESULT DllCanUnloadNow ()
 
HRESULT DllGetClassObject (REFCLSID rclsid, REFIID riid, LPVOID *ppv)
 
HRESULT DllRegisterServer (BOOL bRegTypeLib=TRUE)
 
HRESULT DllUnregisterServer (BOOL bUnRegTypeLib=TRUE)
 
HRESULT GetClassObject (REFCLSID rclsid, REFIID riid, LPVOID *ppv)
 
- Public Member Functions inherited from ATL::CAtlModuleT< T >
HRESULT RegisterServer (BOOL bRegTypeLib=FALSE, const CLSID *pCLSID=NULL)
 
HRESULT UnregisterServer (BOOL bUnRegTypeLib, const CLSID *pCLSID=NULL)
 
virtual HRESULT AddCommonRGSReplacements (IRegistrarBase *pRegistrar)
 
- Public Member Functions inherited from ATL::CAtlModule
 CAtlModule ()
 
virtual LONG GetLockCount ()
 
virtual LONG Lock ()
 
virtual LONG Unlock ()
 
virtual HRESULT AddCommonRGSReplacements (IRegistrarBase *)=0
 
HRESULT WINAPI UpdateRegistryFromResource (LPCTSTR lpszRes, BOOL bRegister, struct _ATL_REGMAP_ENTRY *pMapEntries=NULL)
 
HRESULT WINAPI UpdateRegistryFromResource (UINT nResID, BOOL bRegister, struct _ATL_REGMAP_ENTRY *pMapEntries=NULL)
 

Additional Inherited Members

- Static Public Member Functions inherited from ATL::CAtlModuleT< T >
static LPCOLESTR GetAppId ()
 
- Public Attributes inherited from ATL::_ATL_MODULE70
UINT cbSize
 
LONG m_nLockCnt
 
_ATL_TERMFUNC_ELEMm_pTermFuncs
 
CComCriticalSection m_csStaticDataInitAndTypeInfo
 
- Static Public Attributes inherited from ATL::CAtlModule
static GUID m_libid
 

Detailed Description

template<class T>
class ATL::CAtlDllModuleT< T >

Definition at line 679 of file atlbase.h.

Constructor & Destructor Documentation

◆ CAtlDllModuleT()

template<class T >
ATL::CAtlDllModuleT< T >::CAtlDllModuleT ( )
inline

Definition at line 685 of file atlbase.h.

686 {
687 _AtlComModule.ExecuteObjectMain(true);
688 }

◆ ~CAtlDllModuleT()

template<class T >
ATL::CAtlDllModuleT< T >::~CAtlDllModuleT ( )
inline

Definition at line 690 of file atlbase.h.

691 {
692 _AtlComModule.ExecuteObjectMain(false);
693 }

Member Function Documentation

◆ DllCanUnloadNow()

template<class T >
HRESULT ATL::CAtlDllModuleT< T >::DllCanUnloadNow ( )
inline

Definition at line 695 of file atlbase.h.

696 {
697 T *pThis;
698
699 pThis = static_cast<T *>(this);
700 if (pThis->GetLockCount() == 0)
701 return S_OK;
702 return S_FALSE;
703 }
#define S_OK
Definition: intsafe.h:52
#define T
Definition: mbstring.h:31
#define S_FALSE
Definition: winerror.h:2357

◆ DllGetClassObject()

template<class T >
HRESULT ATL::CAtlDllModuleT< T >::DllGetClassObject ( REFCLSID  rclsid,
REFIID  riid,
LPVOID ppv 
)
inline

Definition at line 705 of file atlbase.h.

706 {
707 T *pThis;
708
709 pThis = static_cast<T *>(this);
710 return pThis->GetClassObject(rclsid, riid, ppv);
711 }
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39

◆ DllRegisterServer()

template<class T >
HRESULT ATL::CAtlDllModuleT< T >::DllRegisterServer ( BOOL  bRegTypeLib = TRUE)
inline

Definition at line 713 of file atlbase.h.

714 {
715 T *pThis;
716 HRESULT hResult;
717
718 pThis = static_cast<T *>(this);
719 hResult = pThis->RegisterServer(bRegTypeLib);
720 return hResult;
721 }

◆ DllUnregisterServer()

template<class T >
HRESULT ATL::CAtlDllModuleT< T >::DllUnregisterServer ( BOOL  bUnRegTypeLib = TRUE)
inline

Definition at line 723 of file atlbase.h.

724 {
725 T *pThis;
726 HRESULT hResult;
727
728 pThis = static_cast<T *>(this);
729 hResult = pThis->UnregisterServer(bUnRegTypeLib);
730 return hResult;
731 }

◆ GetClassObject()

template<class T >
HRESULT ATL::CAtlDllModuleT< T >::GetClassObject ( REFCLSID  rclsid,
REFIID  riid,
LPVOID ppv 
)
inline

Definition at line 733 of file atlbase.h.

734 {
735 return AtlComModuleGetClassObject(&_AtlComModule, rclsid, riid, ppv);
736 }
HRESULT WINAPI AtlComModuleGetClassObject(_ATL_COM_MODULE *pComModule, REFCLSID rclsid, REFIID riid, LPVOID *ppv)

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