43 lines
1.2 KiB
C
43 lines
1.2 KiB
C
|
#ifndef SCCLS_H
|
||
|
#define SCCLS_H
|
||
|
|
||
|
STDAPI CZaxxon_CreateInstance(IUnknown *punk, REFIID riid, void **ppv);
|
||
|
STDAPI CZaxxonPlayer_CreateInstance(IUnknown *punk, REFIID riid, void **ppv);
|
||
|
STDAPI CMegaMan_CreateInstance(IUnknown *punk, REFIID riid, void **ppv);
|
||
|
/*****************************************************************************
|
||
|
*
|
||
|
* CFactory
|
||
|
*
|
||
|
*
|
||
|
*****************************************************************************/
|
||
|
|
||
|
class CFactory : public IClassFactory
|
||
|
{
|
||
|
public:
|
||
|
//////////////////////////////////////////////////////
|
||
|
// Public Interfaces
|
||
|
//////////////////////////////////////////////////////
|
||
|
|
||
|
// *** IUnknown ***
|
||
|
virtual STDMETHODIMP_(ULONG) AddRef(void);
|
||
|
virtual STDMETHODIMP_(ULONG) Release(void);
|
||
|
virtual STDMETHODIMP QueryInterface(REFIID riid, void ** ppv);
|
||
|
|
||
|
// *** IClassFactory ***
|
||
|
virtual STDMETHODIMP CreateInstance(IUnknown *pUnkOuter, REFIID riid, void **ppv);
|
||
|
virtual STDMETHODIMP LockServer(BOOL fLock);
|
||
|
|
||
|
public:
|
||
|
CFactory(REFCLSID rclsid);
|
||
|
|
||
|
// Friend Functions
|
||
|
friend HRESULT CFactory_Create(REFCLSID rclsid, REFIID riid, void ** ppv);
|
||
|
|
||
|
protected:
|
||
|
~CFactory(void);
|
||
|
int _cRef;
|
||
|
CLSID _rclsid;
|
||
|
};
|
||
|
|
||
|
#endif
|