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.

71 lines
2.2 KiB

  1. // Copyright (c) 1997-1999 Microsoft Corporation
  2. #if !defined(AFX_ROOTSECPAGE_H__CF09EE6C_BA3F_11D2_887F_00104B2AFB46__INCLUDED_)
  3. #define AFX_ROOTSECPAGE_H__CF09EE6C_BA3F_11D2_887F_00104B2AFB46__INCLUDED_
  4. #if _MSC_VER > 1000
  5. #pragma once
  6. #endif // _MSC_VER > 1000
  7. // RootSecPage.h : header file
  8. //
  9. /////////////////////////////////////////////////////////////////////////////
  10. // CRootSecurityPage dialog
  11. #include "UIHelpers.h"
  12. #include "ChkListHandler.h"
  13. #include "Principal.h"
  14. #include "simplearray.h"
  15. #include "CHString1.h"
  16. #include <commctrl.h>
  17. class DataSource;
  18. class CRootSecurityPage : public CUIHelpers
  19. {
  20. // Construction
  21. public:
  22. CRootSecurityPage(CWbemServices &ns,
  23. CPrincipal::SecurityStyle secStyle,
  24. _bstr_t path,
  25. bool htmlSupport,
  26. int OSType);
  27. private:
  28. virtual BOOL DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
  29. void InitDlg(HWND hDlg);
  30. HRESULT LoadSecurity(HWND hDlg);
  31. void LoadPermissionList(HWND hDlg);
  32. void OnApply(HWND hDlg, bool bClose);
  33. BOOL OnNotify(HWND hDlg, WPARAM idCtrl, LPNMHDR pnmh);
  34. void OnRemovePrincipal(HWND hDlg);
  35. bool AddPrincipal(HWND hPrinc, CWbemClassObject &princ,
  36. CPrincipal::SecurityStyle secStyle,
  37. int &iItem);
  38. HRESULT AddPrincipalsFromArray(HWND hPrinc, variant_t &vValue);
  39. HIMAGELIST LoadImageList(HINSTANCE hInstance, LPCTSTR pszBitmapID);
  40. CPrincipal *GetSelectedPrincipal(HWND hDlg, int *pIndex);
  41. void EnablePrincipalControls(HWND hDlg, BOOL fEnable);
  42. void OnSelChange(HWND hDlg);
  43. void CommitCurrent(HWND hDlg, int iPrincipal = -1 );
  44. void HandleCheckList(HWND hwndList,
  45. CPrincipal *pPrincipal,
  46. CPermission *perm,
  47. int iItem, DWORD_PTR *dwState);
  48. //typedef CSimpleArray<CHString1> USERLIST;
  49. void OnAddPrincipal(HWND hDlg);
  50. bool GetUser(HWND hDlg, CHString1 &user);
  51. HRESULT ParseLogon(CHString1 &domUser,
  52. CHString1 &domain,
  53. CHString1 &user);
  54. CCheckListHandler m_chkList;
  55. CPrincipal::SecurityStyle m_secStyle;
  56. _bstr_t m_path;
  57. int m_OSType;
  58. };
  59. //{{AFX_INSERT_LOCATION}}
  60. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  61. #endif // !defined(AFX_ROOTSECPAGE_H__CF09EE6C_BA3F_11D2_887F_00104B2AFB46__INCLUDED_)