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.

53 lines
1.8 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1996 - 1999
  6. //
  7. // File: pagebase.h
  8. //
  9. // This file contains the definition of the CSecurityPage base class
  10. //
  11. //--------------------------------------------------------------------------
  12. #ifndef _PAGEBASE_H_
  13. #define _PAGEBASE_H_
  14. class CSecurityPage
  15. {
  16. protected:
  17. SI_PAGE_TYPE m_siPageType;
  18. LPSECURITYINFO m_psi;
  19. LPSECURITYINFO2 m_psi2;
  20. LPEFFECTIVEPERMISSION m_pei;
  21. LPSecurityObjectTypeInfo m_psoti;
  22. HRESULT m_hrComInit;
  23. IDsObjectPicker *m_pObjectPicker;
  24. SI_OBJECT_INFO m_siObjectInfo;
  25. DWORD m_flLastOPOptions;
  26. BOOL m_bStandalone;
  27. BOOL m_bAbortPage;
  28. HRESULT m_hrLastPSPCallbackResult;
  29. public:
  30. CSecurityPage( LPSECURITYINFO psi, SI_PAGE_TYPE siType );
  31. virtual ~CSecurityPage( void );
  32. HPROPSHEETPAGE CreatePropSheetPage(LPCTSTR pszDlgTemplate, LPCTSTR pszDlgTitle = NULL);
  33. HRESULT GetObjectPicker(IDsObjectPicker **ppObjectPicker = NULL);
  34. HRESULT GetUserGroup(HWND hDlg, BOOL bMultiSelect, PUSER_LIST *ppUserList);
  35. BOOL IsEffective(){ return (m_pei != NULL) ;}
  36. protected:
  37. HRESULT InitObjectPicker(BOOL bMultiSelect);
  38. virtual BOOL DlgProc(HWND, UINT, WPARAM, LPARAM) = 0;
  39. virtual UINT PSPageCallback(HWND hwnd, UINT uMsg, LPPROPSHEETPAGE ppsp);
  40. static INT_PTR CALLBACK _DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
  41. static UINT CALLBACK _PSPageCallback(HWND hwnd, UINT uMsg, LPPROPSHEETPAGE ppsp);
  42. };
  43. typedef class CSecurityPage *LPSECURITYPAGE;
  44. #endif /* _PAGEBASE_H_ */