Leaked source code of windows server 2003
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.
|
|
/*
* factory.hxx */
#ifndef _FACTORY_
#define _FACTORY_
//
// MyFactory base class.
//
class MyFactory : public IClassFactory { protected : unsigned long Refs;
public: MyFactory(); ~MyFactory();
// IUnknown
virtual HRESULT __stdcall QueryInterface( REFIID iid, void ** ppv ); virtual ULONG __stdcall AddRef(); virtual ULONG __stdcall Release();
// IClassFactory
virtual HRESULT __stdcall CreateInstance( IUnknown * pUnkOuter, REFIID riid, void ** ppv ); virtual HRESULT __stdcall LockServer( BOOL fLock ); };
//
// FactoryLocal class.
//
class FactoryLocal : public MyFactory { public: FactoryLocal() {} ~FactoryLocal() {}
HRESULT __stdcall CreateInstance( IUnknown * pUnkOuter, REFIID riid, void ** ppv ); };
//
// FactoryRemote class.
//
class FactoryRemote : public MyFactory { public: FactoryRemote() {} ~FactoryRemote() {}
HRESULT __stdcall CreateInstance( IUnknown * pUnkOuter, REFIID riid, void ** ppv ); };
//
// FactoryAtStorage class.
//
class FactoryAtStorage : public MyFactory { public: FactoryAtStorage() {} ~FactoryAtStorage() {}
HRESULT __stdcall CreateInstance( IUnknown * pUnkOuter, REFIID riid, void ** ppv ); };
//
// FactoryInproc class.
//
class FactoryInproc : public MyFactory { public: FactoryInproc() {} ~FactoryInproc() {}
HRESULT __stdcall CreateInstance( IUnknown * pUnkOuter, REFIID riid, void ** ppv ); };
#endif
|