Leaked source code of windows server 2003
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.

46 lines
1.1 KiB

  1. #ifndef __TRACKER_H__
  2. #define __TRACKER_H__
  3. #include "resource.h"
  4. class CPropertySheetTracker
  5. {
  6. public:
  7. CPropertySheetTracker(){};
  8. ~CPropertySheetTracker(){};
  9. public:
  10. void Init()
  11. {
  12. IISObjectOpenPropertySheets.RemoveAll();
  13. }
  14. void Add(CIISObject * pItem)
  15. {
  16. IISObjectOpenPropertySheets.AddTail(pItem);
  17. }
  18. void Del(CIISObject * pItem)
  19. {
  20. POSITION pos = IISObjectOpenPropertySheets.Find(pItem);
  21. if (pos)
  22. {IISObjectOpenPropertySheets.RemoveAt(pos);}
  23. }
  24. void Clear()
  25. {
  26. IISObjectOpenPropertySheets.RemoveAll();
  27. }
  28. void Dump();
  29. BOOL IsPropertySheetOpenBelowMe(CComPtr<IConsoleNameSpace> pConsoleNameSpace,CIISObject * pItem,CIISObject ** ppItemReturned);
  30. BOOL IsPropertySheetOpenComputer(CIISObject * pItem,BOOL bIncludeComputerNode, CIISObject ** ppItemReturned);
  31. BOOL FindAlreadyOpenPropertySheet(CIISObject * pItem,CIISObject ** ppItemReturned);
  32. INT OrphanPropertySheetsBelowMe(CComPtr<IConsoleNameSpace> pConsoleNameSpace,CIISObject * pItem,BOOL bOrphan);
  33. private:
  34. CIISObjectList IISObjectOpenPropertySheets;
  35. };
  36. #endif // __TRACKER_H__