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.

54 lines
1022 B

  1. // Copyright (c) 2000-2001 Microsoft Corporation, All Rights Reserved
  2. // JobObjectProv.h
  3. #pragma once
  4. typedef std::map<short, CVARIANT* > SHORT2PVARIANT;
  5. typedef DWORD (*PFN_CHECK_PROPS)(CFrameworkQuery&);
  6. class CObjProps
  7. {
  8. public:
  9. CObjProps() {}
  10. CObjProps(CHString& chstrNamespace);
  11. virtual ~CObjProps();
  12. HRESULT SetKeysFromPath(
  13. const BSTR ObjectPath,
  14. IWbemContext __RPC_FAR *pCtx,
  15. LPCWSTR wstrClassName,
  16. CHStringArray& rgKeyNameArray,
  17. short sKeyNum[]);
  18. HRESULT SetKeysDirect(
  19. std::vector<CVARIANT>& vecvKeys,
  20. short sKeyNum[]);
  21. void SetReqProps(DWORD dwProps);
  22. DWORD GetReqProps();
  23. void ClearProps();
  24. protected:
  25. SHORT2PVARIANT m_PropMap;
  26. HRESULT GetWhichPropsReq(
  27. CFrameworkQuery& cfwq,
  28. PFN_CHECK_PROPS pfnChk);
  29. HRESULT LoadPropertyValues(
  30. LPCWSTR rgwstrPropNames[],
  31. IWbemClassObject* pIWCO);
  32. private:
  33. DWORD m_dwReqProps;
  34. CHString m_chstrNamespace;
  35. };