ReactOS 0.4.16-dev-2522-g97cc325
CMruClassFactory Class Reference
Inheritance diagram for CMruClassFactory:
Collaboration diagram for CMruClassFactory:

Public Member Functions

 CMruClassFactory ()
 
virtual ~CMruClassFactory ()
 
STDMETHODIMP QueryInterface (REFIID riid, void **ppvObj) override
 
 STDMETHODIMP_ (ULONG) AddRef() override
 
 STDMETHODIMP_ (ULONG) Release()
 
STDMETHODIMP CreateInstance (IUnknown *pUnkOuter, REFIID riid, void **ppvObject)
 
STDMETHODIMP LockServer (BOOL fLock)
 
- 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 ()
 

Static Public Member Functions

static voidoperator new (size_t size)
 
static void operator delete (void *ptr)
 

Protected Attributes

LONG m_cRefs = 1
 

Additional Inherited Members

- Public Types inherited from IClassFactory
typedef IClassFactoryLPCLASSFACTORY
 
- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 

Detailed Description

Definition at line 1291 of file mrulist.cpp.

Constructor & Destructor Documentation

◆ CMruClassFactory()

CMruClassFactory::CMruClassFactory ( )
inline

Definition at line 1297 of file mrulist.cpp.

1298 {
1300 }
static void SHDOCVW_LockModule(void)
Definition: shdocvw.h:59

◆ ~CMruClassFactory()

virtual CMruClassFactory::~CMruClassFactory ( )
inlinevirtual

Definition at line 1301 of file mrulist.cpp.

1302 {
1304 }
static void SHDOCVW_UnlockModule(void)
Definition: shdocvw.h:60

Member Function Documentation

◆ CreateInstance()

STDMETHODIMP CMruClassFactory::CreateInstance ( IUnknown pUnkOuter,
REFIID  riid,
void **  ppvObject 
)

Implements IClassFactory.

Definition at line 1350 of file mrulist.cpp.

1351{
1352 if (pUnkOuter)
1353 return CLASS_E_NOAGGREGATION;
1354
1355 if (IsEqualGUID(riid, IID_IMruDataList))
1356 return CMruLongList_CreateInstance(0, ppvObject, 0);
1357
1358 if (IsEqualGUID(riid, IID_IMruPidlList))
1359 return CMruPidlList_CreateInstance(0, ppvObject, 0);
1360
1361 return E_NOINTERFACE;
1362}
REFIID riid
Definition: atlbase.h:39
EXTERN_C HRESULT CMruPidlList_CreateInstance(DWORD_PTR dwUnused1, void **ppv, DWORD_PTR dwUnused3)
Definition: mrulist.cpp:1246
EXTERN_C HRESULT CMruLongList_CreateInstance(DWORD_PTR dwUnused1, void **ppv, DWORD_PTR dwUnused3)
Definition: mrulist.cpp:711
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define E_NOINTERFACE
Definition: winerror.h:3479
#define CLASS_E_NOAGGREGATION
Definition: winerror.h:3771

◆ LockServer()

STDMETHODIMP CMruClassFactory::LockServer ( BOOL  fLock)

Implements IClassFactory.

Definition at line 1364 of file mrulist.cpp.

1365{
1366 if (fLock)
1368 else
1370 return S_OK;
1371}
#define S_OK
Definition: intsafe.h:52

◆ operator delete()

static void CMruClassFactory::operator delete ( void ptr)
inlinestatic

Definition at line 1330 of file mrulist.cpp.

1331 {
1333 }
HLOCAL NTAPI LocalFree(HLOCAL hMem)
Definition: heapmem.c:1594
static PVOID ptr
Definition: dispmode.c:27

◆ operator new()

static void * CMruClassFactory::operator new ( size_t  size)
inlinestatic

Definition at line 1326 of file mrulist.cpp.

1327 {
1328 return ::LocalAlloc(LPTR, size);
1329 }
GLsizeiptr size
Definition: glext.h:5919
#define LPTR
Definition: minwinbase.h:93

◆ QueryInterface()

STDMETHODIMP CMruClassFactory::QueryInterface ( REFIID  riid,
void **  ppvObj 
)
override

Implements IUnknown.

Definition at line 1336 of file mrulist.cpp.

1337{
1338 if (!ppvObj)
1339 return E_POINTER;
1341 {
1342 *ppvObj = static_cast<IClassFactory*>(this);
1343 AddRef();
1344 return S_OK;
1345 }
1346 ERR("%s: E_NOINTERFACE\n", debugstr_guid(&riid));
1347 return E_NOINTERFACE;
1348}
#define ERR(fmt,...)
Definition: precomp.h:57
const GUID IID_IUnknown
const GUID IID_IClassFactory
ULONG AddRef()
#define debugstr_guid
Definition: kernel32.h:35
#define E_POINTER
Definition: winerror.h:3480

Referenced by CMruClassFactory_CreateInstance().

◆ STDMETHODIMP_() [1/2]

CMruClassFactory::STDMETHODIMP_ ( ULONG  )
inlineoverride

Definition at line 1308 of file mrulist.cpp.

1309 {
1310 return ::InterlockedIncrement(&m_cRefs);
1311 }

◆ STDMETHODIMP_() [2/2]

CMruClassFactory::STDMETHODIMP_ ( ULONG  )
inline

Definition at line 1312 of file mrulist.cpp.

1313 {
1315 {
1316 delete this;
1317 return 0;
1318 }
1319 return m_cRefs;
1320 }
#define InterlockedDecrement
Definition: armddk.h:52

Member Data Documentation

◆ m_cRefs

LONG CMruClassFactory::m_cRefs = 1
protected

Definition at line 1294 of file mrulist.cpp.

Referenced by STDMETHODIMP_().


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