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.

73 lines
1.7 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 2001
  6. //
  7. // File: aclbloat.h
  8. //
  9. // This file contains the definition for ACLBLOAT class which controls the
  10. // dialog box for aclbloat
  11. //
  12. // Author hiteshr 4th April 2001
  13. //
  14. //--------------------------------------------------------------------------
  15. #ifndef _ACLBLOAT_H
  16. #define _ACLBLOAT_H
  17. class CACLBloat
  18. {
  19. private:
  20. LPSECURITYINFO m_psi;
  21. LPSECURITYINFO2 m_psi2;
  22. SI_PAGE_TYPE m_siPageType;
  23. SI_OBJECT_INFO* m_psiObjectInfo;
  24. HDPA m_hEntries;
  25. HDPA m_hPropEntries;
  26. HDPA m_hMergedEntries;
  27. HFONT m_hFont;
  28. public:
  29. CACLBloat(LPSECURITYINFO psi,
  30. LPSECURITYINFO2 psi2,
  31. SI_PAGE_TYPE m_siPageType,
  32. SI_OBJECT_INFO* psiObjectInfo,
  33. HDPA hEntries,
  34. HDPA hPropEntries);
  35. ~CACLBloat();
  36. BOOL DoModalDialog(HWND hParent);
  37. BOOL IsAclBloated();
  38. private:
  39. static INT_PTR _DlgProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
  40. HRESULT InitDlg( HWND hDlg );
  41. BOOL OnCommand(HWND hDlg, WPARAM wParam, LPARAM lParam);
  42. BOOL OnNotify(HWND hDlg, WPARAM wParam, LPARAM lParam);
  43. HRESULT AddAce(HDPA hEntries,
  44. PACE_HEADER pAceHeader);
  45. HRESULT AddAce(HDPA hEntries, PACE pAceNew);
  46. LPCTSTR TranslateAceIntoRights(DWORD dwMask, const GUID *pObjectType,
  47. PSI_ACCESS pAccess, ULONG cAccess);
  48. LPCTSTR GetItemString(LPCTSTR pszItem, LPTSTR pszBuffer, UINT ccBuffer);
  49. HRESULT AddAcesFromDPA(HWND hListView, HDPA hEntries);
  50. HRESULT MergeAces(HDPA hEntries, HDPA hPropEntries, HDPA hMergedList);
  51. };
  52. typedef CACLBloat *PACLBLOAT;
  53. #endif