//Copyright (c) 1998 - 1999 Microsoft Corporation #ifndef _TSPRSHT_H #define _TSPRSHT_H #include"baspdlg.h" #include"todlg.h" #include #include"rnodes.h" // #include #include // #include #include #include "asyncdlg.h" #define NUM_OF_PRSHT 8 class CPropsheet { int m_cref; LONG_PTR m_hNotify; CDialogPropBase *m_pDlg[ NUM_OF_PRSHT ]; BOOL m_bGotUC; PUSERCONFIG m_puc; HWND m_hMMCWindow; public: CPropsheet( ); int AddRef( ); int Release( ); HRESULT InitDialogs( HWND , LPPROPERTYSHEETCALLBACK , CResultNode * , LONG_PTR ); HRESULT SetUserConfig( USERCONFIG& , PDWORD ); BOOL ExcludeMachinePolicySettings(USERCONFIG& uc); BOOL GetUserConfig( BOOLEAN bPerformMerger ); BOOL GetCurrentUserConfig( USERCONFIG&, BOOLEAN bPerformMerger ); CResultNode *m_pResNode; void PreDestruct( ); BOOL m_bPropertiesChange; }; HPROPSHEETPAGE GetSecurityPropertyPage( CPropsheet * ); //----------------------------------------------------------------------------- class CGeneral : public CDialogPropBase { CPropsheet *m_pParent; Encryption *m_pEncrypt; DWORD m_DefaultEncryptionLevelIndex; INT_PTR m_nOldSel; public: CGeneral( CPropsheet * ); BOOL OnInitDialog( HWND , WPARAM , LPARAM ); static INT_PTR CALLBACK DlgProc( HWND , UINT , WPARAM , LPARAM ); BOOL GetPropertySheetPage( PROPSHEETPAGE& ); BOOL OnDestroy( ); BOOL OnCommand( WORD , WORD , HWND ); BOOL PersistSettings( HWND ); }; //----------------------------------------------------------------------------- class CLogonSetting : public CDialogPropBase { CPropsheet *m_pParent; WORD m_wOldId; public: CLogonSetting( CPropsheet * ); BOOL OnInitDialog( HWND , WPARAM , LPARAM ); static INT_PTR CALLBACK DlgProc( HWND , UINT , WPARAM , LPARAM ); BOOL GetPropertySheetPage( PROPSHEETPAGE& ); BOOL OnDestroy( ); BOOL OnCommand( WORD , WORD , HWND ); BOOL PersistSettings( HWND ); BOOL IsValidSettings( HWND ); BOOL ConfirmPassWd( HWND ); }; //----------------------------------------------------------------------------- class CTimeSetting : public CDialogPropBase , public CTimeOutDlg { CPropsheet *m_pParent; WORD m_wOldAction; WORD m_wOldCon; BOOL m_bPrevClient; public: CTimeSetting( CPropsheet * ); BOOL OnInitDialog( HWND , WPARAM , LPARAM ); static INT_PTR CALLBACK DlgProc( HWND , UINT , WPARAM , LPARAM ); BOOL GetPropertySheetPage( PROPSHEETPAGE& ); BOOL OnDestroy( ); BOOL OnCommand( WORD , WORD , HWND ); int GetCBXSTATEindex( HWND ); void SetTimeoutControls(HWND); void SetBkResetControls(HWND); void SetReconControls(HWND); //void xxxSetControls( HWND , BOOL , int ); BOOL IsValidSettings( HWND ); BOOL PersistSettings( HWND ); }; /*----------------------------------------------------------------------------- typedef struct _securedentry { PSID psid; ACCESS_MASK amAllowed; ACCESS_MASK amDenied; TCHAR tchDisplayName[ 260 ]; TCHAR tchADSPath[ 260 ]; TCHAR tchType[ 20 ]; } SECUREDENTRY , * PSECUREDENTRY; //----------------------------------------------------------------------------- typedef struct _namedentry { TCHAR tchNamedEntry[ 260 ]; DWORD dwAcepos; } NAMEDENTRY , * PNAMEDENTRY; //----------------------------------------------------------------------------- class CPerm : public CDialogPropBase { CPropsheet *m_pParent; HWND m_lvUserGroups; HWND m_clPerms; HIMAGELIST m_hImglist; int m_iLastSelectedItem; LPBYTE m_pNE; // named entry blob int m_nNE; public: CPerm( CPropsheet * ); BOOL OnInitDialog( HWND , WPARAM , LPARAM ); static INT_PTR CALLBACK DlgProc( HWND , UINT , WPARAM , LPARAM ); BOOL GetPropertySheetPage( PROPSHEETPAGE& ); BOOL OnDestroy( ); BOOL OnCommand( WORD , WORD , HWND ); BOOL AddGroupUser( HWND ); BOOL InsertSelectedItemsInList( HWND , PDSSELECTIONLIST ); BOOL InitPriviledges( ); BOOL InitImageList( ); int GetObjectTypeIcon( LPTSTR ); BOOL InitSecurityDialog( ); BOOL ConvertSDtoEntries( PSECURITY_DESCRIPTOR ); BOOL ReleaseEntries( ); BOOL SidToStr( PSID , LPTSTR ); BOOL ItemDuplicate( PSID ); BOOL OnNotify( int , LPNMHDR , HWND ); BOOL GetMask( PDWORD , PDWORD ); BOOL SetMask( DWORD , DWORD ); BOOL PersistSettings( HWND ); BOOL ConvertEntriesToSD( PSECURITY_DESCRIPTOR , PSECURITY_DESCRIPTOR * ); BOOL RemoveGroupUser( HWND ); BOOL RemoveNamedEntries( ); BOOL AssembleNamedEntries( ); BOOL FindNamedEntryAcePos( DWORD , PSECUREDENTRY ); }; */ //----------------------------------------------------------------------------- class CEnviro : public CDialogPropBase { CPropsheet *m_pParent; public: CEnviro( CPropsheet * ); BOOL OnInitDialog( HWND , WPARAM , LPARAM ); static INT_PTR CALLBACK DlgProc( HWND , UINT , WPARAM , LPARAM ); BOOL GetPropertySheetPage( PROPSHEETPAGE& ); BOOL OnDestroy( ); BOOL OnCommand( WORD , WORD , HWND ); void SetControls( HWND , BOOL ); BOOL PersistSettings( HWND ); }; //----------------------------------------------------------------------------- class CRemote : public CDialogPropBase { CPropsheet *m_pParent; WORD m_wOldRadioID; WORD m_wOldSel; public: CRemote( CPropsheet * ); BOOL OnInitDialog( HWND , WPARAM , LPARAM ); static INT_PTR CALLBACK DlgProc( HWND , UINT , WPARAM , LPARAM ); BOOL GetPropertySheetPage( PROPSHEETPAGE& ); BOOL OnDestroy( ); BOOL OnCommand( WORD , WORD , HWND ); void SetControls( HWND , BOOL ); BOOL PersistSettings( HWND ); }; //----------------------------------------------------------------------------- class CClient : public CDialogPropBase { public: CClient( CPropsheet * ); BOOL OnInitDialog( HWND , WPARAM , LPARAM ); static INT_PTR CALLBACK DlgProc( HWND , UINT , WPARAM , LPARAM ); BOOL GetPropertySheetPage( PROPSHEETPAGE& ); BOOL OnDestroy( ); BOOL OnCommand( WORD , WORD , HWND ); BOOL PersistSettings( HWND ); private: void DetermineFieldEnabling(HWND hDlg); void SetColorDepthEntry( HWND ); CPropsheet *m_pParent; INT_PTR m_nColorDepth; }; //----------------------------------------------------------------------------- class CSecurityPage : public ISecurityInformation, public CComObjectRoot { DECLARE_NOT_AGGREGATABLE( CSecurityPage ) BEGIN_COM_MAP( CSecurityPage ) COM_INTERFACE_ENTRY(ISecurityInformation) END_COM_MAP() public: // *** ISecurityInformation methods *** STDMETHOD( GetObjectInformation )( PSI_OBJECT_INFO ); STDMETHOD( GetSecurity )( SECURITY_INFORMATION , PSECURITY_DESCRIPTOR *, BOOL ); STDMETHOD( SetSecurity )( SECURITY_INFORMATION , PSECURITY_DESCRIPTOR ); STDMETHOD( GetAccessRights )( const GUID * , DWORD , PSI_ACCESS * , PULONG , PULONG ); STDMETHOD( MapGeneric )( const GUID *, PUCHAR , ACCESS_MASK * ); STDMETHOD( GetInheritTypes )( PSI_INHERIT_TYPE * , PULONG ); STDMETHOD( PropertySheetPageCallback )( HWND , UINT , SI_PAGE_TYPE ); void SetParent( CPropsheet * ); private: TCHAR m_szPageName[ 80 ]; CPropsheet * m_pParent; BOOLEAN m_WritablePermissionsTab; }; //----------------------------------------------------------------------------- class CTransNetwork : public CDialogPropBase { CPropsheet *m_pParent; ULONG m_ulOldLanAdapter; WORD m_oldID; ULONG m_uMaxInstOld; BOOL m_RemoteAdminMode; public: CTransNetwork( CPropsheet * ); BOOL OnInitDialog( HWND , WPARAM , LPARAM ); static INT_PTR CALLBACK DlgProc( HWND , UINT , WPARAM , LPARAM ); BOOL GetPropertySheetPage( PROPSHEETPAGE& ); BOOL OnDestroy( ); BOOL OnCommand( WORD , WORD , HWND ); BOOL PersistSettings( HWND ); BOOL IsValidSettings( HWND ); }; //----------------------------------------------------------------------------- class CTransAsync : public CAsyncDlg , public CDialogPropBase { CPropsheet *m_pParent; public: BOOL IsValidSettings(HWND); CTransAsync( CPropsheet * ); BOOL OnInitDialog( HWND , WPARAM , LPARAM ); static INT_PTR CALLBACK DlgProc( HWND , UINT , WPARAM , LPARAM ); BOOL GetPropertySheetPage( PROPSHEETPAGE& ); BOOL OnDestroy( ); BOOL OnCommand( WORD , WORD , HWND ); void SetControls( HWND , BOOL ); BOOL PersistSettings( HWND ); }; BOOL InitStrings( ); BOOL FreeStrings( ); //----------------------------------------------------------------------------- #endif // _TSPRSHT_H