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.

52 lines
1.7 KiB

  1. //////////////////////////////////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Microsoft WMIOLE DB Provider
  4. // (C) Copyright 1999 Microsoft Corporation. All Rights Reserved.
  5. //
  6. // Class Definitions for CClassFactory and DLL Entry Points
  7. //
  8. //////////////////////////////////////////////////////////////////////////////////////////////////////////
  9. #ifndef _CLASSFAC_H_
  10. #define _CLASSFAC_H_
  11. //////////////////////////////////////////////////////////////////////////////////////////////////////////
  12. class CClassFactory : public IClassFactory
  13. {
  14. protected:
  15. ULONG m_cRef; //Reference count
  16. public:
  17. CClassFactory(void);
  18. ~CClassFactory(void);
  19. STDMETHODIMP QueryInterface(REFIID, LPVOID *); //Request an Interface
  20. STDMETHODIMP_(ULONG) AddRef(void); //Increments the Reference count
  21. STDMETHODIMP_(ULONG) Release(void); //Decrements the Reference count
  22. STDMETHODIMP LockServer(BOOL); //Lock Object so that it can not be unloaded
  23. };
  24. //////////////////////////////////////////////////////////////////////////////////////////////////////////
  25. class CEnumeratorClassFactory : public CClassFactory
  26. {
  27. public:
  28. STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID *);
  29. };
  30. //////////////////////////////////////////////////////////////////////////////////////////////////////////
  31. class CDataSourceClassFactory : public CClassFactory
  32. {
  33. public:
  34. STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID *);
  35. };
  36. //////////////////////////////////////////////////////////////////////////////////////////////////////////
  37. class CErrorLookupClassFactory : public CClassFactory
  38. {
  39. public:
  40. STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID *);
  41. };
  42. #endif