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.

57 lines
1.3 KiB

  1. #ifndef __WBEM_METADATA__H_
  2. #define __WBEM_METADATA__H_
  3. #include "esscpol.h"
  4. #include <parmdefs.h>
  5. #include <wbemidl.h>
  6. #include <wbemint.h>
  7. #include <wbemcomn.h>
  8. class ESSCLI_POLARITY CMetaData : public IWbemMetaData
  9. {
  10. protected:
  11. long m_lRef;
  12. public:
  13. CMetaData() : m_lRef(0){}
  14. virtual ~CMetaData(){}
  15. HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppv);
  16. ULONG STDMETHODCALLTYPE AddRef();
  17. ULONG STDMETHODCALLTYPE Release();
  18. STDMETHOD(GetClass)(LPCWSTR wszName, IWbemContext* pContext,
  19. IWbemClassObject** ppClass);
  20. public:
  21. virtual HRESULT GetClass(LPCWSTR wszName, IWbemContext* pContext,
  22. _IWmiObject** ppClass) = 0;
  23. };
  24. class ESSCLI_POLARITY CStandardMetaData : public CMetaData
  25. {
  26. protected:
  27. IWbemServices* m_pNamespace;
  28. public:
  29. CStandardMetaData(IWbemServices* pNamespace);
  30. ~CStandardMetaData();
  31. virtual HRESULT GetClass(LPCWSTR wszName, IWbemContext* pContext,
  32. _IWmiObject** ppClass);
  33. void Clear();
  34. };
  35. class ESSCLI_POLARITY CContextMetaData
  36. {
  37. protected:
  38. CMetaData* m_pMeta;
  39. IWbemContext* m_pContext;
  40. public:
  41. CContextMetaData(CMetaData* pMeta, IWbemContext* pContext);
  42. ~CContextMetaData();
  43. HRESULT GetClass(LPCWSTR wszName, _IWmiObject** ppClass);
  44. };
  45. #endif