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.

59 lines
1.3 KiB

  1. //***************************************************************************
  2. //
  3. // Copyright (c) 1998-1999 Microsoft Corporation
  4. //
  5. // classfac.h
  6. //
  7. // alanbos 13-Feb-98 Created.
  8. //
  9. // Genral purpose include file.
  10. //
  11. //***************************************************************************
  12. #ifndef _CLASSFAC_H_
  13. #define _CLASSFAC_H_
  14. typedef LPVOID * PPVOID;
  15. // These variables keep track of when the module can be unloaded
  16. extern long g_cObj;
  17. extern ULONG g_cLock;
  18. //***************************************************************************
  19. //
  20. // CLASS NAME:
  21. //
  22. // CSWbemFactory
  23. //
  24. // DESCRIPTION:
  25. //
  26. // Class factory for the CSWbemLocator and CSWbemNamedValueBag classes.
  27. //
  28. //***************************************************************************
  29. class CSWbemFactory : public IClassFactory
  30. {
  31. protected:
  32. long m_cRef;
  33. int m_iType;
  34. public:
  35. CSWbemFactory(int iType);
  36. ~CSWbemFactory(void);
  37. enum {LOCATOR, CONTEXT, OBJECTPATH, PARSEDN, LASTERROR, SINK, DATETIME,
  38. REFRESHER};
  39. //IUnknown members
  40. STDMETHODIMP QueryInterface(REFIID, LPVOID*);
  41. STDMETHODIMP_(ULONG) AddRef(void);
  42. STDMETHODIMP_(ULONG) Release(void);
  43. //IClassFactory members
  44. STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*);
  45. STDMETHODIMP LockServer(BOOL);
  46. };
  47. #endif