Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#ifndef _factory_h
#define _factory_h
typedef HRESULT (* CREATEPROC)(IUnknown *, IUnknown **);
#define FD_ALLOWAGGREGATION 0x00000001
struct CFactoryData { CLSID const *m_pClsid; CREATEPROC m_pCreateProc; DWORD m_dwFlags; };
class CClassFactory : public IClassFactory { public: CClassFactory(const CFactoryData *pFactoryData); ~CClassFactory();
// IUnknown members
STDMETHODIMP QueryInterface(REFIID riid, void **ppv); STDMETHODIMP_(ULONG) AddRef(); STDMETHODIMP_(ULONG) Release();
// IClassFactory members
STDMETHODIMP CreateInstance(LPUNKNOWN pUnkOuter, REFIID riid, void **ppvObj); STDMETHODIMP LockServer(BOOL fLock);
private: ULONG m_cRef; const CFactoryData *m_pFactoryData; };
#endif // _factory_h
|