windows-nt/Source/XPSP1/NT/shell/ext/zaxxon/sccls.h
2020-09-26 16:20:57 +08:00

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