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.

105 lines
3.6 KiB

  1. //
  2. // Copyright 1997 - Microsoft
  3. //
  4. // ADDWIZ.H - "Add" sif or image wizard class
  5. //
  6. #ifndef _ADDWIZ_H_
  7. #define _ADDWIZ_H_
  8. // Definitions
  9. HRESULT
  10. CAddWiz_CreateInstance( HWND hwndParent, LPUNKNOWN punk );
  11. class CAddWiz;
  12. typedef CAddWiz* LPCADDWIZ;
  13. typedef HRESULT (*LPNEXTOP)( LPCADDWIZ lpc );
  14. // CAddWiz
  15. class
  16. CAddWiz
  17. {
  18. private:
  19. WCHAR _szNA[ 32 ];
  20. WCHAR _szLocation[ 67 ];
  21. LPUNKNOWN _punk;
  22. HWND _hDlg;
  23. HWND _hwndList;
  24. LPWSTR _pszPathBuffer;
  25. DWORD _dwPathBufferSize;
  26. // "Add Wizard" flags
  27. BOOL _fAddSif:1;
  28. BOOL _fNewImage:1;
  29. BOOL _fCopyFromServer:1;
  30. BOOL _fCopyFromSamples:1;
  31. BOOL _fCopyFromLocation:1;
  32. BOOL _fDestPathIncludesSIF:1;
  33. BOOL _fShowedPage8:1;
  34. BOOL _fSIFCanExist:1;
  35. LPWSTR _pszServerName;
  36. LPWSTR _pszSourcePath;
  37. LPWSTR _pszSourceImage;
  38. LPWSTR _pszDestPath;
  39. LPWSTR _pszDestImage;
  40. LPWSTR _pszSourceServerName;
  41. WCHAR _szDescription[ REMOTE_INSTALL_MAX_DESCRIPTION_CHAR_COUNT ];
  42. WCHAR _szHelpText[ REMOTE_INSTALL_MAX_HELPTEXT_CHAR_COUNT ];
  43. private: // Methods
  44. CAddWiz();
  45. ~CAddWiz();
  46. STDMETHOD(Init)( HWND hwndParent, LPUNKNOWN punk );
  47. // Property Sheet Functions
  48. static INT_PTR CALLBACK
  49. PropSheetDlgProc( HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam );
  50. static UINT CALLBACK
  51. PropSheetPageProc( HWND hwnd, UINT uMsg, LPPROPSHEETPAGE ppsp );
  52. static INT_PTR CALLBACK
  53. EditSIFDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  54. static INT_PTR CALLBACK
  55. Page1DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  56. static INT_PTR CALLBACK
  57. Page2DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  58. static INT_PTR CALLBACK
  59. Page3DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  60. static INT_PTR CALLBACK
  61. Page4DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  62. static INT_PTR CALLBACK
  63. Page5DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  64. static INT_PTR CALLBACK
  65. Page6DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  66. static INT_PTR CALLBACK
  67. Page7DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  68. static INT_PTR CALLBACK
  69. Page8DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  70. static INT_PTR CALLBACK
  71. Page9DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  72. static INT_PTR CALLBACK
  73. Page10DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
  74. INT _VerifyCancel( HWND hDlg );
  75. STDMETHOD(_PopulateSamplesListView)( LPWSTR pszStartPath );
  76. STDMETHOD(_PopulateTemplatesListView)( LPWSTR pszStartPath );
  77. STDMETHOD(_PopulateImageListView)( LPWSTR pszStartPath );
  78. STDMETHOD(_FindLanguageDirectory)( LPNEXTOP lpNextOperation );
  79. STDMETHOD(_FindOSDirectory)( LPNEXTOP lpNextOperation );
  80. STDMETHOD(_EnumeratePlatforms)( LPNEXTOP lpNextOperation );
  81. static HRESULT _EnumerateTemplates( LPCADDWIZ lpc );
  82. static HRESULT _EnumerateImages( LPCADDWIZ lpc );
  83. STDMETHOD(_CheckImageType)( );
  84. STDMETHOD(_EnumerateSIFs)( );
  85. STDMETHOD(_AddItemToListView)( );
  86. STDMETHOD(_CleanupSIFInfo)( LPSIFINFO pSIF );
  87. STDMETHOD(_InitListView)( HWND hwndList, BOOL fShowDirectoryColumn );
  88. static HRESULT _OnSearch( HWND hwndParent );
  89. public: // Methods
  90. friend HRESULT CAddWiz_CreateInstance( HWND hwndParent, LPUNKNOWN punk );
  91. };
  92. #endif // _ADDWIZ_H_