ReactOS 0.4.15-dev-7924-g5949c20
CRShellClassFactory Class Reference
Inheritance diagram for CRShellClassFactory:
Collaboration diagram for CRShellClassFactory:

Public Member Functions

 CRShellClassFactory ()
 
virtual ~CRShellClassFactory ()
 
HRESULT Initialize (REFGUID clsid)
 
virtual HRESULT WINAPI CreateInstance (LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObject)
 
virtual HRESULT WINAPI LockServer (BOOL fLock)
 
- Public Member Functions inherited from ATL::CComObjectRootEx< CComMultiThreadModelNoCS >
 ~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 ()
 
- Public Member Functions inherited from IClassFactory
HRESULT CreateInstance ([in, unique] IUnknown *pUnkOuter, [in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
HRESULT RemoteCreateInstance ([in] REFIID riid, [out, iid_is(riid)] IUnknown **ppvObject)
 
HRESULT LockServer ([in] BOOL fLock)
 
HRESULT RemoteLockServer ([in] BOOL fLock)
 
- Public Member Functions inherited from IUnknown
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 

Private Attributes

CLSID m_Clsid
 

Additional Inherited Members

- Public Types inherited from IClassFactory
typedef IClassFactoryLPCLASSFACTORY
 
- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 
- 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

Definition at line 211 of file misc.cpp.

Constructor & Destructor Documentation

◆ CRShellClassFactory()

CRShellClassFactory::CRShellClassFactory ( )
inline

Definition at line 219 of file misc.cpp.

219{}

◆ ~CRShellClassFactory()

virtual CRShellClassFactory::~CRShellClassFactory ( )
inlinevirtual

Definition at line 220 of file misc.cpp.

220{}

Member Function Documentation

◆ CreateInstance()

virtual HRESULT WINAPI CRShellClassFactory::CreateInstance ( LPUNKNOWN  pUnkOuter,
REFIID  riid,
LPVOID ppvObject 
)
inlinevirtual

Definition at line 229 of file misc.cpp.

230 {
231 *ppvObject = NULL;
232
235
236 if (IsEqualCLSID(m_Clsid, CLSID_MenuDeskBar))
238
239 if (IsEqualCLSID(m_Clsid, CLSID_MenuBand))
241
244
245 if (IsEqualCLSID(m_Clsid, CLSID_MergedFolder))
247
249 return ShellObjectCreator<CQuickLaunchBand>(riid, ppvObject);
250
251 return E_NOINTERFACE;
252 }
const GUID CLSID_QuickLaunchBand
HRESULT WINAPI RSHELL_CStartMenu_CreateInstance(REFIID riid, void **ppv)
Definition: CStartMenu.cpp:592
HRESULT WINAPI RSHELL_CMenuBand_CreateInstance(REFIID riid, LPVOID *ppv)
Definition: CMenuBand.cpp:1312
HRESULT WINAPI RSHELL_CMenuSite_CreateInstance(REFIID riid, LPVOID *ppv)
Definition: CMenuSite.cpp:360
HRESULT WINAPI RSHELL_CMenuDeskBar_CreateInstance(REFIID riid, LPVOID *ppv)
HRESULT WINAPI RSHELL_CMergedFolder_CreateInstance(REFIID riid, LPVOID *ppv)
#define NULL
Definition: types.h:112
const GUID CLSID_MenuBandSite
const GUID CLSID_StartMenu
REFIID riid
Definition: atlbase.h:39
#define IsEqualCLSID(rclsid1, rclsid2)
Definition: guiddef.h:96
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082
#define E_NOINTERFACE
Definition: winerror.h:2364

◆ Initialize()

HRESULT CRShellClassFactory::Initialize ( REFGUID  clsid)
inline

Definition at line 222 of file misc.cpp.

223 {
224 m_Clsid = clsid;
225 return S_OK;
226 }
#define S_OK
Definition: intsafe.h:52
REFCLSID clsid
Definition: msctf.c:82

◆ LockServer()

virtual HRESULT WINAPI CRShellClassFactory::LockServer ( BOOL  fLock)
inlinevirtual

Implements IClassFactory.

Definition at line 254 of file misc.cpp.

255 {
256 return E_NOTIMPL;
257 }
#define E_NOTIMPL
Definition: ddrawi.h:99

Member Data Documentation

◆ m_Clsid

CLSID CRShellClassFactory::m_Clsid
private

Definition at line 216 of file misc.cpp.

Referenced by CreateInstance(), and Initialize().


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