ReactOS 0.4.16-dev-250-g3ecd236
mrulist.cpp File Reference
#include "objects.h"
#include <tchar.h>
#include <strsafe.h>
#include <wine/debug.h>
Include dependency graph for mrulist.cpp:

Go to the source code of this file.

Classes

class  CSafeMutex
 
class  CMruBase
 
class  CMruShortList
 
class  CMruLongList
 
class  CMruNode
 
class  CMruPidlList
 
class  CMruClassFactory
 

Macros

#define COBJMACROS
 
#define SLOT_LOADED   0x1
 
#define SLOT_SET   0x2
 
#define COMPARE_BY_MEMCMP   0x0
 
#define COMPARE_BY_STRCMPIW   0x1
 
#define COMPARE_BY_STRCMPW   0x2
 
#define COMPARE_BY_IEILISEQUAL   0x3
 
#define COMPARE_BY_MASK   0xF
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (shdocvw)
 
 STDMETHODIMP_ (ULONG) CMruBase
 
EXTERN_C HRESULT CMruLongList_CreateInstance (DWORD_PTR dwUnused1, void **ppv, DWORD_PTR dwUnused3)
 
EXTERN_C HRESULT CMruPidlList_CreateInstance (DWORD_PTR dwUnused1, void **ppv, DWORD_PTR dwUnused3)
 
EXTERN_C HRESULT CMruClassFactory_CreateInstance (REFIID riid, void **ppv)
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 8 of file mrulist.cpp.

◆ COMPARE_BY_IEILISEQUAL

#define COMPARE_BY_IEILISEQUAL   0x3

Definition at line 33 of file mrulist.cpp.

◆ COMPARE_BY_MASK

#define COMPARE_BY_MASK   0xF

Definition at line 34 of file mrulist.cpp.

◆ COMPARE_BY_MEMCMP

#define COMPARE_BY_MEMCMP   0x0

Definition at line 30 of file mrulist.cpp.

◆ COMPARE_BY_STRCMPIW

#define COMPARE_BY_STRCMPIW   0x1

Definition at line 31 of file mrulist.cpp.

◆ COMPARE_BY_STRCMPW

#define COMPARE_BY_STRCMPW   0x2

Definition at line 32 of file mrulist.cpp.

◆ SLOT_LOADED

#define SLOT_LOADED   0x1

Definition at line 26 of file mrulist.cpp.

◆ SLOT_SET

#define SLOT_SET   0x2

Definition at line 27 of file mrulist.cpp.

Function Documentation

◆ CMruClassFactory_CreateInstance()

EXTERN_C HRESULT CMruClassFactory_CreateInstance ( REFIID  riid,
void **  ppv 
)

Definition at line 1372 of file mrulist.cpp.

1373{
1374 CMruClassFactory *pFactory = new CMruClassFactory();
1375 if (!pFactory)
1376 return E_OUTOFMEMORY;
1377
1378 HRESULT hr = pFactory->QueryInterface(riid, ppv);
1379 pFactory->Release();
1380 return hr;
1381}
STDMETHODIMP QueryInterface(REFIID riid, void **ppvObj) override
Definition: mrulist.cpp:1335
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
ULONG Release()
HRESULT hr
Definition: shlfolder.c:183

Referenced by SHDOCVW_DllGetClassObject().

◆ CMruLongList_CreateInstance()

EXTERN_C HRESULT CMruLongList_CreateInstance ( DWORD_PTR  dwUnused1,
void **  ppv,
DWORD_PTR  dwUnused3 
)

Definition at line 711 of file mrulist.cpp.

712{
713 UNREFERENCED_PARAMETER(dwUnused1);
714 UNREFERENCED_PARAMETER(dwUnused3);
715
716 TRACE("%p %p %p\n", dwUnused1, ppv, dwUnused3);
717
718 if (!ppv)
719 return E_POINTER;
720
721 CMruLongList *pMruList = new CMruLongList();
722 *ppv = static_cast<IMruDataList*>(pMruList);
723 TRACE("%p\n", *ppv);
724
725 return S_OK;
726}
#define S_OK
Definition: intsafe.h:52
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:325
#define TRACE(s)
Definition: solgame.cpp:4
#define E_POINTER
Definition: winerror.h:2365

Referenced by CMruClassFactory::CreateInstance(), and SHDOCVW_DllGetClassObject().

◆ CMruPidlList_CreateInstance()

EXTERN_C HRESULT CMruPidlList_CreateInstance ( DWORD_PTR  dwUnused1,
void **  ppv,
DWORD_PTR  dwUnused3 
)

Definition at line 1245 of file mrulist.cpp.

1246{
1247 UNREFERENCED_PARAMETER(dwUnused1);
1248 UNREFERENCED_PARAMETER(dwUnused3);
1249
1250 TRACE("%p %p %p\n", dwUnused1, ppv, dwUnused3);
1251
1252 if (!ppv)
1253 return E_POINTER;
1254
1255 *ppv = NULL;
1256
1257 CMruPidlList *pMruList = new CMruPidlList();
1258 if (pMruList == NULL)
1259 return E_OUTOFMEMORY;
1260
1261 *ppv = static_cast<IMruPidlList*>(pMruList);
1262 TRACE("%p\n", *ppv);
1263 return S_OK;
1264}
#define NULL
Definition: types.h:112

Referenced by CMruClassFactory::CreateInstance(), and SHDOCVW_DllGetClassObject().

◆ STDMETHODIMP_()

STDMETHODIMP_ ( ULONG  )

Definition at line 170 of file mrulist.cpp.

171{
172 if (::InterlockedDecrement(&m_cRefs) == 0)
173 {
174 _SaveSlots();
175 delete this;
176 return 0;
177 }
178 return m_cRefs;
179}
#define InterlockedDecrement
Definition: armddk.h:52

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( shdocvw  )