ReactOS 0.4.15-dev-7918-g2a2556c
IDefClFImpl Struct Reference
Inheritance diagram for IDefClFImpl:
Collaboration diagram for IDefClFImpl:

Public Member Functions

 IDefClFImpl ()
 
HRESULT Initialize (LPFNCREATEINSTANCE lpfnCI, PLONG pcRefDll, const IID *riidInstx)
 
STDMETHOD() CreateInstance (IUnknown *pUnkOuter, REFIID riid, LPVOID *ppvObject) override
 
STDMETHOD() LockServer (BOOL fLock) override
 
- 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 ()
 

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}
const IID * riidInst
Definition: shell32.cpp:133
LONG * pcRefDll
Definition: shell32.cpp:134
CLSID * rclsid
Definition: shell32.cpp:131
LPFNCREATEINSTANCE lpfnCI
Definition: shell32.cpp:132
#define NULL
Definition: types.h:112

Member Function Documentation

◆ CreateInstance()

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

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}
const GUID IID_IUnknown
#define ERR(fmt,...)
Definition: debug.h:110
const char * shdebugstr_guid(const struct _GUID *id)
Definition: debughlp.cpp:428
REFIID riid
Definition: atlbase.h:39
#define IsEqualCLSID(rclsid1, rclsid2)
Definition: guiddef.h:96
#define TRACE(s)
Definition: solgame.cpp:4
_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 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}
#define InterlockedIncrement
Definition: armddk.h:53
#define S_OK
Definition: intsafe.h:52

◆ LockServer()

HRESULT WINAPI IDefClFImpl::LockServer ( BOOL  fLock)
override

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 E_NOTIMPL
Definition: ddrawi.h:99

Member Data Documentation

◆ IClassFactory_iface

IClassFactory IDefClFImpl::IClassFactory_iface

Definition at line 367 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 368 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: