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.

82 lines
2.4 KiB

  1. //
  2. // Copyright 1997 - Microsoft
  3. //
  4. // CLIENT.H - Handles the "IntelliMirror" IDD_PROP_INTELLIMIRROR_CLIENT tab
  5. //
  6. #ifndef _NEWCLNTS_H_
  7. #define _NEWCLNTS_H_
  8. // Definitions
  9. LPVOID
  10. CNewClientsTab_CreateInstance( void );
  11. #define SAMPLES_LIST_SIZE 512
  12. INT_PTR CALLBACK
  13. AdvancedDlgProc(
  14. HWND hDlg,
  15. UINT uMsg,
  16. WPARAM wParam,
  17. LPARAM lParam );
  18. class CComputer;
  19. typedef CComputer* LPCComputer;
  20. // CNewClientsTab
  21. class
  22. CNewClientsTab:
  23. public ITab
  24. {
  25. private:
  26. HWND _hDlg;
  27. LPUNKNOWN _punkService; // Pointer back to service object
  28. BOOL _fAdmin; // admin mode == TRUE;
  29. BOOL _fChanged:1; // Are we dirty?
  30. INT _iCustomId; // custom ID in the ComboBox
  31. LPWSTR _pszCustomNamingPolicy; // last customized string
  32. LPWSTR _pszNewMachineOU; // netbootNewMachineOU (DN)
  33. LPWSTR _pszServerDN; // netbootServer (DN)
  34. WCHAR _szSampleName[DNS_MAX_LABEL_BUFFER_LENGTH]; // generated sample machine name
  35. HWND _hNotify; // DSA notify obj
  36. private: // Methods
  37. CNewClientsTab();
  38. ~CNewClientsTab();
  39. STDMETHOD(Init)();
  40. // Property Sheet Functions
  41. static INT_PTR CALLBACK
  42. PropSheetDlgProc( HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam );
  43. static UINT CALLBACK
  44. PropSheetPageProc( HWND hwnd, UINT uMsg, LPPROPSHEETPAGE ppsp );
  45. HRESULT _ApplyChanges( );
  46. HRESULT _UpdateSheet( LPWSTR pszNamingPolicy );
  47. HRESULT _InitDialog( HWND hDlg, LPARAM lParam );
  48. HRESULT _OnCommand( WPARAM wParam, LPARAM lParam );
  49. INT _OnNotify( WPARAM wParam, LPARAM lParam );
  50. HRESULT _GetCurrentNamingPolicy( LPWSTR * ppszNamingPolicy );
  51. HRESULT _MakeOUPretty( DS_NAME_FORMAT inFlag, DS_NAME_FORMAT outFlag, LPWSTR *ppszOU );
  52. public: // Methods
  53. friend LPVOID CNewClientsTab_CreateInstance( void );
  54. friend INT_PTR CALLBACK
  55. AdvancedDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  56. // ITab
  57. STDMETHOD(AddPages)( LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam, LPUNKNOWN punk );
  58. STDMETHOD(ReplacePage)( UINT uPageID, LPFNADDPROPSHEETPAGE lpfnReplaceWith,
  59. LPARAM lParam, LPUNKNOWN punk );
  60. STDMETHOD(QueryInformation)( LPWSTR pszAttribute, LPWSTR * pszResult );
  61. STDMETHOD(AllowActivation)( BOOL * pfAllow );
  62. };
  63. typedef CNewClientsTab* LPCNewClientsTab;
  64. #endif // _NEWCLNTS_H_