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.

75 lines
1.5 KiB

  1. /*++
  2. Copyright (c) 1998-2001 Microsoft Corporation
  3. Module Name:
  4. enum.h.cpp
  5. Abstract:
  6. Enumerates metabase tree.
  7. Author:
  8. ???
  9. Revision History:
  10. Mohit Srivastava 18-Dec-00
  11. --*/
  12. #ifndef _enum_h_
  13. #define _enum_h_
  14. #include "WbemObjectSink.h"
  15. #include <genlex.h>
  16. #include "sqllex.h"
  17. #include <sql_1ext.h>
  18. class CEnum
  19. {
  20. public:
  21. CEnum();
  22. ~CEnum();
  23. void Init(
  24. IWbemObjectSink FAR*,
  25. CWbemServices*,
  26. ParsedObjectPath*,
  27. LPWSTR,
  28. WMI_ASSOCIATION*,
  29. SQL_LEVEL_1_RPN_EXPRESSION_EXT* pExp=NULL);
  30. void Recurse(
  31. LPCWSTR,
  32. METABASE_KEYTYPE*,
  33. LPCWSTR,
  34. LPCWSTR,
  35. METABASE_KEYTYPE*);
  36. private:
  37. bool ContinueRecurse(METABASE_KEYTYPE*, METABASE_KEYTYPE*);
  38. void SetObjectPath(LPCWSTR, LPCWSTR, IWbemClassObject*);
  39. void DoPing(LPCWSTR, LPCWSTR, LPCWSTR);
  40. void PingAssociation(LPCWSTR);
  41. void PingObject();
  42. void DoPingAdminACL(METABASE_KEYTYPE*, LPCWSTR, LPCWSTR);
  43. void PingAssociationAdminACL(LPCWSTR);
  44. void EnumACE(LPCWSTR);
  45. void DoPingIPSecurity(METABASE_KEYTYPE*, LPCWSTR, LPCWSTR);
  46. void PingAssociationIPSecurity(LPCWSTR);
  47. CMetabase m_metabase;
  48. CWbemObjectSink* m_pInstMgr;
  49. CWbemServices* m_pNamespace;
  50. WMI_ASSOCIATION* m_pAssociation;
  51. ParsedObjectPath* m_pParsedObject;
  52. METADATA_HANDLE m_hKey;
  53. SQL_LEVEL_1_RPN_EXPRESSION_EXT* m_pExp;
  54. };
  55. #endif