ReactOS  0.4.15-dev-439-g292f67a
IDefClFImpl Struct Reference
Inheritance diagram for IDefClFImpl:
Collaboration diagram for IDefClFImpl:

Public Member Functions

 IDefClFImpl ()
 
HRESULT Initialize (LPFNCREATEINSTANCE lpfnCI, PLONG pcRefDll, const IID *riidInstx)
 
virtual HRESULT WINAPI CreateInstance (IUnknown *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 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 ()
 

Public Attributes

IClassFactory IClassFactory_iface
 
LONG ref
 
- Public Attributes inherited from ATL::CComObjectRootBase
LONG m_dwRef
 

Private Attributes

CLSIDrclsid
 
LPFNCREATEINSTANCE lpfnCI
 
const IIDriidInst
 
LONGpcRefDll
 

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)
 

Detailed Description

Definition at line 126 of file shell32.cpp.

Constructor & Destructor Documentation

◆ IDefClFImpl()

IDefClFImpl::IDefClFImpl ( )

Definition at line 148 of file shell32.cpp.

149 {
150  lpfnCI = NULL;
151  riidInst = NULL;
152  pcRefDll = NULL;
153  rclsid = NULL;
154 }
LONG * pcRefDll
Definition: shell32.cpp:134
smooth NULL
Definition: ftsmooth.c:416
const IID * riidInst
Definition: shell32.cpp:133
LPFNCREATEINSTANCE lpfnCI
Definition: shell32.cpp:132
CLSID * rclsid
Definition: shell32.cpp:131

Member Function Documentation

◆ CreateInstance()

HRESULT WINAPI IDefClFImpl::CreateInstance ( IUnknown pUnkOuter,
REFIID  riid,
LPVOID ppvObject 
)
virtual

Definition at line 172 of file shell32.cpp.

173 {
174  TRACE("%p->(%p,%s,%p)\n", this, pUnkOuter, shdebugstr_guid(&riid), ppvObject);
175 
176  *ppvObject = NULL;
177 
179  {
180  return lpfnCI(pUnkOuter, riid, ppvObject);
181  }
182 
183  ERR("unknown IID requested %s\n", shdebugstr_guid(&riid));
184  return E_NOINTERFACE;
185 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
const char * shdebugstr_guid(const struct _GUID *id)
Definition: debughlp.cpp:414
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
const IID * riidInst
Definition: shell32.cpp:133
REFIID LPVOID * ppvObject
Definition: precomp.h:44
#define ERR(fmt,...)
Definition: debug.h:110
LPFNCREATEINSTANCE lpfnCI
Definition: shell32.cpp:132
#define IsEqualCLSID(rclsid1, rclsid2)
Definition: guiddef.h:96

◆ Initialize()

HRESULT IDefClFImpl::Initialize ( LPFNCREATEINSTANCE  lpfnCI,
PLONG  pcRefDll,
const IID riidInstx 
)

Definition at line 156 of file shell32.cpp.

157 {
158  lpfnCI = lpfnCIx;
159  riidInst = riidInstx;
160  pcRefDll = pcRefDllx;
161 
162  if (pcRefDll)
164 
165  TRACE("(%p)%s\n", this, shdebugstr_guid(riidInst));
166  return S_OK;
167 }
LONG * pcRefDll
Definition: shell32.cpp:134
const char * shdebugstr_guid(const struct _GUID *id)
Definition: debughlp.cpp:414
#define TRACE(s)
Definition: solgame.cpp:4
const IID * riidInst
Definition: shell32.cpp:133
#define S_OK
Definition: intsafe.h:59
#define InterlockedIncrement
Definition: armddk.h:53
LPFNCREATEINSTANCE lpfnCI
Definition: shell32.cpp:132

◆ LockServer()

HRESULT WINAPI IDefClFImpl::LockServer ( BOOL  fLock)
virtual

Implements IClassFactory.

Definition at line 190 of file shell32.cpp.

191 {
192  TRACE("%p->(0x%x), not implemented\n", this, fLock);
193  return E_NOTIMPL;
194 }
#define TRACE(s)
Definition: solgame.cpp:4
#define E_NOTIMPL
Definition: ddrawi.h:99

Member Data Documentation

◆ IClassFactory_iface

IClassFactory IDefClFImpl::IClassFactory_iface

Definition at line 372 of file shellole.c.

Referenced by IDefClF_fnConstructor().

◆ lpfnCI

LPFNCREATEINSTANCE IDefClFImpl::lpfnCI
private

Definition at line 132 of file shell32.cpp.

Referenced by CreateInstance(), IDefClF_fnConstructor(), IDefClFImpl(), and Initialize().

◆ pcRefDll

LONG * IDefClFImpl::pcRefDll
private

Definition at line 134 of file shell32.cpp.

Referenced by IDefClF_fnConstructor(), IDefClFImpl(), and Initialize().

◆ rclsid

CLSID * IDefClFImpl::rclsid
private

Definition at line 131 of file shell32.cpp.

Referenced by IDefClFImpl().

◆ ref

LONG IDefClFImpl::ref

Definition at line 373 of file shellole.c.

Referenced by IDefClF_fnConstructor().

◆ riidInst

const IID * IDefClFImpl::riidInst
private

Definition at line 133 of file shell32.cpp.

Referenced by CreateInstance(), IDefClF_fnConstructor(), IDefClFImpl(), and Initialize().


The documentation for this struct was generated from the following files: