// // Copyright 1997 - Microsoft // // CLIENT.H - Handles the "IntelliMirror" IDD_PROP_INTELLIMIRROR_CLIENT tab // #ifndef _NEWCLNTS_H_ #define _NEWCLNTS_H_ // Definitions LPVOID CNewClientsTab_CreateInstance( void ); #define SAMPLES_LIST_SIZE 512 INT_PTR CALLBACK AdvancedDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ); class CComputer; typedef CComputer* LPCComputer; // CNewClientsTab class CNewClientsTab: public ITab { private: HWND _hDlg; LPUNKNOWN _punkService; // Pointer back to service object BOOL _fAdmin; // admin mode == TRUE; BOOL _fChanged:1; // Are we dirty? INT _iCustomId; // custom ID in the ComboBox LPWSTR _pszCustomNamingPolicy; // last customized string LPWSTR _pszNewMachineOU; // netbootNewMachineOU (DN) LPWSTR _pszServerDN; // netbootServer (DN) WCHAR _szSampleName[DNS_MAX_LABEL_BUFFER_LENGTH]; // generated sample machine name HWND _hNotify; // DSA notify obj private: // Methods CNewClientsTab(); ~CNewClientsTab(); STDMETHOD(Init)(); // Property Sheet Functions static INT_PTR CALLBACK PropSheetDlgProc( HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam ); static UINT CALLBACK PropSheetPageProc( HWND hwnd, UINT uMsg, LPPROPSHEETPAGE ppsp ); HRESULT _ApplyChanges( ); HRESULT _UpdateSheet( LPWSTR pszNamingPolicy ); HRESULT _InitDialog( HWND hDlg, LPARAM lParam ); HRESULT _OnCommand( WPARAM wParam, LPARAM lParam ); INT _OnNotify( WPARAM wParam, LPARAM lParam ); HRESULT _GetCurrentNamingPolicy( LPWSTR * ppszNamingPolicy ); HRESULT _MakeOUPretty( DS_NAME_FORMAT inFlag, DS_NAME_FORMAT outFlag, LPWSTR *ppszOU ); public: // Methods friend LPVOID CNewClientsTab_CreateInstance( void ); friend INT_PTR CALLBACK AdvancedDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ); // ITab STDMETHOD(AddPages)( LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam, LPUNKNOWN punk ); STDMETHOD(ReplacePage)( UINT uPageID, LPFNADDPROPSHEETPAGE lpfnReplaceWith, LPARAM lParam, LPUNKNOWN punk ); STDMETHOD(QueryInformation)( LPWSTR pszAttribute, LPWSTR * pszResult ); STDMETHOD(AllowActivation)( BOOL * pfAllow ); }; typedef CNewClientsTab* LPCNewClientsTab; #endif // _NEWCLNTS_H_