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.

42 lines
1.2 KiB

  1. #ifndef SCCLS_H
  2. #define SCCLS_H
  3. STDAPI CZaxxon_CreateInstance(IUnknown *punk, REFIID riid, void **ppv);
  4. STDAPI CZaxxonPlayer_CreateInstance(IUnknown *punk, REFIID riid, void **ppv);
  5. STDAPI CMegaMan_CreateInstance(IUnknown *punk, REFIID riid, void **ppv);
  6. /*****************************************************************************
  7. *
  8. * CFactory
  9. *
  10. *
  11. *****************************************************************************/
  12. class CFactory : public IClassFactory
  13. {
  14. public:
  15. //////////////////////////////////////////////////////
  16. // Public Interfaces
  17. //////////////////////////////////////////////////////
  18. // *** IUnknown ***
  19. virtual STDMETHODIMP_(ULONG) AddRef(void);
  20. virtual STDMETHODIMP_(ULONG) Release(void);
  21. virtual STDMETHODIMP QueryInterface(REFIID riid, void ** ppv);
  22. // *** IClassFactory ***
  23. virtual STDMETHODIMP CreateInstance(IUnknown *pUnkOuter, REFIID riid, void **ppv);
  24. virtual STDMETHODIMP LockServer(BOOL fLock);
  25. public:
  26. CFactory(REFCLSID rclsid);
  27. // Friend Functions
  28. friend HRESULT CFactory_Create(REFCLSID rclsid, REFIID riid, void ** ppv);
  29. protected:
  30. ~CFactory(void);
  31. int _cRef;
  32. CLSID _rclsid;
  33. };
  34. #endif