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.

118 lines
2.8 KiB

  1. /**********************************************************************/
  2. /** Microsoft Windows/NT **/
  3. /** Copyright(c) Microsoft Corporation, 1997 - 1998 **/
  4. /**********************************************************************/
  5. /*
  6. AcsUser.h
  7. Defines the ACS User object extension
  8. FILE HISTORY:
  9. 11/03/97 Wei Jiang Created
  10. */
  11. // ACSUser.h : Declaration of the CACSUser
  12. #ifndef __ACSUSER_H_
  13. #define __ACSUSER_H_
  14. #include "resource.h" // main symbols
  15. #include "helper.h"
  16. #include "acsdata.h"
  17. #include "acs.h"
  18. #define ByteOffset(base, offset) (((LPBYTE)base)+offset)
  19. #if 0 // user page is removed
  20. class CACSUserPg;
  21. /////////////////////////////////////////////////////////////////////////////
  22. // CACSUser
  23. class ATL_NO_VTABLE CACSUser :
  24. public CComObjectRootEx<CComSingleThreadModel>,
  25. public CComCoClass<CACSUser, &CLSID_ACSUser>,
  26. public IShellExtInit,
  27. public IShellPropSheetExt
  28. {
  29. public:
  30. CACSUser();
  31. virtual ~CACSUser();
  32. BEGIN_COM_MAP(CACSUser)
  33. COM_INTERFACE_ENTRY(IShellExtInit)
  34. COM_INTERFACE_ENTRY(IShellPropSheetExt)
  35. END_COM_MAP()
  36. public:
  37. //IShellExtInit methods
  38. STDMETHODIMP Initialize(LPCITEMIDLIST pIDFolder, LPDATAOBJECT pDataObj, HKEY hKeyID);
  39. //IShellPropSheetExt methods
  40. STDMETHODIMP AddPages(LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam);
  41. STDMETHODIMP ReplacePage(UINT uPageID, LPFNADDPROPSHEETPAGE lpfnReplaceWith, LPARAM lParam);
  42. DECLARE_REGISTRY(CACSUser, _T("ACSUser.UserAdminExt.1"), _T("ACSUser.UserAdminExt"), 0, THREADFLAGS_APARTMENT)
  43. virtual const CLSID & GetCoClassID(){ return CLSID_ACSUser; }
  44. protected:
  45. LPWSTR m_pwszObjName;
  46. LPWSTR m_pwszClass;
  47. CACSUserPg* m_pPage;
  48. STGMEDIUM m_ObjMedium;
  49. BOOL m_bShowPage;
  50. };
  51. /////////////////////////////////////////////////////////////////////////////
  52. // CACSUserPg dialog
  53. class CACSUserPg : public CACSPage
  54. {
  55. DECLARE_DYNCREATE(CACSUserPg)
  56. // Construction
  57. public:
  58. HRESULT Save();
  59. HRESULT Load(LPCWSTR userPath);
  60. CACSUserPg();
  61. ~CACSUserPg();
  62. // Dialog Data
  63. //{{AFX_DATA(CACSUserPg)
  64. enum { IDD = IDD_ACSUSER };
  65. CString m_strProfileName;
  66. //}}AFX_DATA
  67. // Overrides
  68. // ClassWizard generate virtual function overrides
  69. //{{AFX_VIRTUAL(CACSUserPg)
  70. public:
  71. virtual BOOL OnApply();
  72. protected:
  73. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  74. //}}AFX_VIRTUAL
  75. // Implementation
  76. protected:
  77. CStrArray m_strArrayPolicyNames;
  78. CComPtr<IADs> m_spIADs;
  79. CStrArray m_GlobalProfileNames;
  80. // Generated message map functions
  81. //{{AFX_MSG(CACSUserPg)
  82. virtual BOOL OnInitDialog();
  83. afx_msg void OnEditchangeCombouserprofilename();
  84. afx_msg void OnSelchangeCombouserprofilename();
  85. //}}AFX_MSG
  86. DECLARE_MESSAGE_MAP()
  87. CComPtr<CACSGlobalProfiles> m_spGlobalProfiles;
  88. CStrBox<CComboBox>* m_pBox;
  89. };
  90. #endif // #if 0
  91. #endif //__ACSUSER_H_
  92. //////////////