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.

101 lines
3.2 KiB

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1998-1999 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // SmbSPage.h
  7. //
  8. // Abstract:
  9. // CClusterFileShareSecurityPage class declaration. This class will encapsulate
  10. // the cluster file share security page.
  11. //
  12. // Implementation File:
  13. // ClusPage.cpp
  14. //
  15. // Author:
  16. // Galen Barbee (galenb) February 11, 1998
  17. //
  18. // Revision History:
  19. //
  20. // Notes:
  21. //
  22. /////////////////////////////////////////////////////////////////////////////
  23. #ifndef _SMBSPAGE_H_
  24. #define _SMBSPAGE_H_
  25. /////////////////////////////////////////////////////////////////////////////
  26. // Include Files
  27. /////////////////////////////////////////////////////////////////////////////
  28. #ifndef _BASEPAGE_H_
  29. #include "BasePage.h"
  30. #endif //_BASEPAGE_H_
  31. #ifndef _ACLBASE_H_
  32. #include "AclBase.h"
  33. #endif //_ACLBASE_H_
  34. #include "ExtObj.h"
  35. /////////////////////////////////////////////////////////////////////////////
  36. // Forward Class Declarations
  37. /////////////////////////////////////////////////////////////////////////////
  38. class CClusterFileShareSecurityPage;
  39. class CFileShareSecuritySheet;
  40. /////////////////////////////////////////////////////////////////////////////
  41. // External Class Declarations
  42. /////////////////////////////////////////////////////////////////////////////
  43. /////////////////////////////////////////////////////////////////////////////
  44. // CClusterFileShareSecurityInformation security information
  45. /////////////////////////////////////////////////////////////////////////////
  46. class CClusterFileShareSecurityInformation : public CSecurityInformation
  47. {
  48. STDMETHOD(GetSecurity) (SECURITY_INFORMATION RequestedInformation,
  49. PSECURITY_DESCRIPTOR *ppSecurityDescriptor,
  50. BOOL fDefault );
  51. STDMETHOD(SetSecurity) (SECURITY_INFORMATION SecurityInformation,
  52. PSECURITY_DESCRIPTOR pSecurityDescriptor );
  53. public:
  54. CClusterFileShareSecurityInformation( void );
  55. virtual ~CClusterFileShareSecurityInformation( void );
  56. HRESULT HrInit( IN CClusterFileShareSecurityPage * pcsp, IN CString const & strServer, IN CString const & strNode );
  57. protected:
  58. CClusterFileShareSecurityPage* m_pcsp;
  59. CClusterFileShareSecurityPage* Pcsp( void ) const { return m_pcsp; };
  60. };
  61. /////////////////////////////////////////////////////////////////////////////
  62. // CClusterFileShareSecurityPage security property page wrapper
  63. /////////////////////////////////////////////////////////////////////////////
  64. class CClusterFileShareSecurityPage : public CBasePropertyPage
  65. {
  66. public:
  67. CClusterFileShareSecurityPage( void );
  68. ~CClusterFileShareSecurityPage( void );
  69. HRESULT HrInit(
  70. IN CExtObject * peo,
  71. IN CFileShareSecuritySheet * pss,
  72. IN CString const & strServer
  73. );
  74. const HPROPSHEETPAGE GetHPage( void ) const { return m_hpage; };
  75. CFileShareSecuritySheet* Pss( void ) const { return m_pss; };
  76. protected:
  77. CFileShareSecuritySheet* m_pss;
  78. HPROPSHEETPAGE m_hpage;
  79. HKEY m_hkey;
  80. CComObject<CClusterFileShareSecurityInformation>* m_psecinfo;
  81. };
  82. #endif //_SMBSPAGE_H_