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.

463 lines
7.5 KiB

  1. // uip.h - private interfaces for ui.lib
  2. #include "master.h"
  3. #include "master9x.h"
  4. //
  5. // Defines
  6. //
  7. #define REGISTRY_DLL 0xfffffffe
  8. //
  9. // definition of Level used for report generation routines
  10. //
  11. #define REPORTLEVEL_NONE 0x0000
  12. #define REPORTLEVEL_BLOCKING 0x0001
  13. #define REPORTLEVEL_ERROR 0x0002
  14. #define REPORTLEVEL_WARNING 0x0004
  15. #define REPORTLEVEL_INFORMATION 0x0008
  16. #define REPORTLEVEL_VERBOSE 0x0010
  17. #define REPORTLEVEL_ALL 0x001F
  18. #define REPORTLEVEL_IN_SHORT_LIST 0x1000
  19. //
  20. // Private routines
  21. //
  22. BOOL InitCompatTable (void);
  23. void FreeCompatTable (void);
  24. BOOL
  25. SaveReport (
  26. IN HWND Parent, OPTIONAL // Either Parent or Path must be specified.
  27. IN LPCTSTR Path OPTIONAL
  28. );
  29. BOOL
  30. PrintReport (
  31. IN HWND Parent,
  32. IN DWORD Level
  33. );
  34. BOOL
  35. AreThereAnyBlockingIssues(
  36. VOID
  37. );
  38. PCTSTR
  39. CreateReportText (
  40. IN BOOL HtmlFormat,
  41. IN UINT TotalColumns,
  42. IN DWORD Level,
  43. IN BOOL ListFormat
  44. );
  45. VOID
  46. FreeReportText (
  47. VOID
  48. );
  49. VOID
  50. StartCopyThread (
  51. VOID
  52. );
  53. VOID
  54. EndCopyThread (
  55. VOID
  56. );
  57. DWORD
  58. UI_ReportThread (
  59. LPVOID p
  60. );
  61. VOID
  62. BuildPunctTable (
  63. VOID
  64. );
  65. VOID
  66. FreePunctTable (
  67. VOID
  68. );
  69. DWORD
  70. UI_CreateNewHwCompDat (
  71. LPVOID p
  72. );
  73. BOOL
  74. IsIncompatibleHardwarePresent (
  75. VOID
  76. );
  77. typedef DWORD(WINAPI *THREADPROC)(LPVOID Param);
  78. typedef struct {
  79. //
  80. // IN params to SearchingDlgProc
  81. //
  82. PCTSTR SearchStr;
  83. PTSTR MatchStr;
  84. THREADPROC ThreadProc;
  85. //
  86. // Dialog info set by SearchingDlgProc and
  87. // queried by ThreadProc
  88. //
  89. HWND hdlg;
  90. HANDLE CancelEvent;
  91. HANDLE ThreadHandle;
  92. //
  93. // OUT params from ThreadProc
  94. //
  95. UINT ActiveMatches;
  96. BOOL MatchFound;
  97. } SEARCHING_THREAD_DATA, *PSEARCHING_THREAD_DATA;
  98. LONG
  99. SearchForMigrationDlls (
  100. IN HWND Parent,
  101. IN PCTSTR SearchPath,
  102. OUT UINT *ActiveModulesFound,
  103. OUT PBOOL OneValidDllFound
  104. );
  105. LONG
  106. SearchForDomain (
  107. IN HWND Parent,
  108. IN PCTSTR ComputerName,
  109. OUT BOOL *AccountFound,
  110. OUT PTSTR DomainName
  111. );
  112. #define WMX_REPORT_COMPLETE (WM_APP+20)
  113. #define WMX_UPDATE_LIST (WM_APP+21)
  114. #define WMX_DIALOG_VISIBLE (WM_APP+22)
  115. #define WMX_THREAD_DONE (WM_APP+23)
  116. #define WMX_ADDLINE (WM_APP+24)
  117. #define WMX_GOTO (WM_APP+25)
  118. #define WMX_WAIT_FOR_THREAD_TO_DIE (WM_APP+26)
  119. #define WMX_ENABLE_CONTROLS (WM_APP+27)
  120. #define WMX_ALL_LINES_PAINTED (WM_APP+28)
  121. #define WMX_INIT_DIALOG (WM_APP+29)
  122. #define WMX_CLEANUP (WM_APP+30)
  123. #define WMX_WIN95_WORKAROUND (WM_APP+31)
  124. #define WMX_RESTART_SETUP (WM_APP+32)
  125. //
  126. // imported from winnt32.h
  127. //
  128. #define WMX_FINISHBUTTON (WMX_PLUGIN_FIRST-8)
  129. #define WMX_UNATTENDED (WMX_PLUGIN_FIRST-9)
  130. #define WMX_NEXTBUTTON (WMX_PLUGIN_FIRST-10)
  131. #define WMX_BACKBUTTON (WMX_PLUGIN_FIRST-11)
  132. BOOL
  133. UI_BackupPageProc (
  134. HWND hdlg,
  135. UINT uMsg,
  136. WPARAM wParam,
  137. LPARAM lParam
  138. );
  139. BOOL
  140. UI_HwCompDatPageProc (
  141. HWND hdlg,
  142. UINT uMsg,
  143. WPARAM wParam,
  144. LPARAM lParam
  145. );
  146. UI_BadHardDrivePageProc (
  147. HWND hdlg,
  148. UINT uMsg,
  149. WPARAM wParam,
  150. LPARAM lParam
  151. );
  152. UI_BadCdRomPageProc (
  153. HWND hdlg,
  154. UINT uMsg,
  155. WPARAM wParam,
  156. LPARAM lParam
  157. );
  158. UI_NameCollisionPageProc (
  159. HWND hdlg,
  160. UINT uMsg,
  161. WPARAM wParam,
  162. LPARAM lParam
  163. );
  164. BOOL
  165. UI_HardwareDriverPageProc (
  166. HWND hdlg,
  167. UINT uMsg,
  168. WPARAM wParam,
  169. LPARAM lParam
  170. );
  171. BOOL
  172. UI_UpgradeModulePageProc (
  173. HWND hdlg,
  174. UINT uMsg,
  175. WPARAM wParam,
  176. LPARAM lParam
  177. );
  178. BOOL
  179. UI_ScanningPageProc (
  180. HWND hdlg,
  181. UINT uMsg,
  182. WPARAM wParam,
  183. LPARAM lParam
  184. );
  185. BOOL
  186. UI_ResultsPageProc (
  187. HWND hdlg,
  188. UINT uMsg,
  189. WPARAM wParam,
  190. LPARAM lParam
  191. );
  192. BOOL
  193. UI_BackupYesNoPageProc (
  194. HWND hdlg,
  195. UINT uMsg,
  196. WPARAM wParam,
  197. LPARAM lParam
  198. );
  199. BOOL
  200. UI_BackupDriveSelectionProc (
  201. HWND hdlg,
  202. UINT uMsg,
  203. WPARAM wParam,
  204. LPARAM lParam
  205. );
  206. BOOL
  207. UI_BackupImpossibleInfoProc (
  208. HWND hdlg,
  209. UINT uMsg,
  210. WPARAM wParam,
  211. LPARAM lParam
  212. );
  213. BOOL
  214. UI_BackupImpExceedLimitProc (
  215. HWND hdlg,
  216. UINT uMsg,
  217. WPARAM wParam,
  218. LPARAM lParam
  219. );
  220. BOOL
  221. UI_LastPageProc (
  222. HWND hdlg,
  223. UINT uMsg,
  224. WPARAM wParam,
  225. LPARAM lParam
  226. );
  227. LPCTSTR UI_GetMemDbDat (void);
  228. LPARAM
  229. HardwareDlg (
  230. IN HWND Parent
  231. );
  232. LPARAM
  233. UpgradeModuleDlg (
  234. IN HWND Parent
  235. );
  236. LPARAM
  237. DiskSpaceDlg (
  238. HWND Parent
  239. );
  240. LPARAM
  241. WarningDlg (
  242. HWND Parent
  243. );
  244. LPARAM
  245. SoftBlockDlg (
  246. HWND Parent
  247. );
  248. LPARAM
  249. IncompatibleDevicesDlg (
  250. HWND Parent
  251. );
  252. LPARAM
  253. ResultsDlg (
  254. IN HWND Parent,
  255. IN PCTSTR Bookmark
  256. );
  257. extern HWND g_InfoPageHwnd;
  258. extern int g_nCompliantDllsEncountered;
  259. extern int g_nCompliantDllsEncounteredThisEnum;
  260. extern BOOL g_UIQuitSetup;
  261. LRESULT
  262. CALLBACK
  263. TextViewProc (
  264. HWND hwnd,
  265. UINT uMsg,
  266. WPARAM wParam,
  267. LPARAM lParam
  268. );
  269. #define ATTRIB_NORMAL 0
  270. #define ATTRIB_BOLD 1
  271. #define ATTRIB_UNDERLINED 2
  272. typedef struct {
  273. UINT Indent;
  274. UINT LastCharAttribs;
  275. UINT HangingIndent;
  276. BOOL AnchorWrap;
  277. BOOL Painted;
  278. } LINEATTRIBS, *PLINEATTRIBS;
  279. //
  280. // Change name dialog
  281. //
  282. typedef struct {
  283. PCTSTR NameGroup;
  284. PCTSTR OrgName;
  285. PCTSTR LastNewName;
  286. PTSTR NewNameBuf;
  287. } CHANGE_NAME_PARAMS, *PCHANGE_NAME_PARAMS;
  288. BOOL
  289. ChangeNameDlg (
  290. IN HWND Parent,
  291. IN PCTSTR NameGroup,
  292. IN PCTSTR OrgName,
  293. IN OUT PTSTR NewName
  294. );
  295. //
  296. // Credentials dialog
  297. //
  298. #define MAX_PASSWORD 64
  299. typedef struct {
  300. BOOL Change;
  301. TCHAR DomainName[MAX_COMPUTER_NAME + 1];
  302. TCHAR AdminName[MAX_SERVER_NAME + 1 + MAX_USER_NAME + 1];
  303. TCHAR Password[MAX_PASSWORD + 1];
  304. } CREDENTIALS, *PCREDENTIALS;
  305. BOOL
  306. CredentialsDlg (
  307. IN HWND Parent,
  308. IN OUT PCREDENTIALS Credentials
  309. );
  310. VOID
  311. EnableDlgItem (
  312. HWND hdlg,
  313. UINT Id,
  314. BOOL Enable,
  315. UINT FocusId
  316. );
  317. VOID
  318. ShowDlgItem (
  319. HWND hdlg,
  320. UINT Id,
  321. INT Show,
  322. UINT FocusId
  323. );
  324. LONG
  325. SearchForDrivers (
  326. IN HWND Parent,
  327. IN PCTSTR SearchPathStr,
  328. OUT BOOL *DriversFound
  329. );
  330. VOID
  331. RegisterTextViewer (
  332. VOID
  333. );
  334. VOID
  335. AddStringToTextView (
  336. IN HWND hwnd,
  337. IN PCTSTR Text
  338. );
  339. #ifdef PRERELEASE
  340. DWORD
  341. DoAutoStressDlg (
  342. PVOID Foo
  343. );
  344. #endif
  345. BOOL
  346. IsPunct (
  347. MBCHAR Char
  348. );
  349. typedef struct {
  350. //
  351. // public data
  352. //
  353. PCTSTR Entry;
  354. DWORD Level;
  355. BOOL Header;
  356. //
  357. // private data
  358. //
  359. PTSTR Next;
  360. TCHAR ReplacedChar;
  361. } LISTREPORTENTRY_ENUM, *PLISTREPORTENTRY_ENUM;
  362. BOOL
  363. EnumFirstListEntry (
  364. OUT PLISTREPORTENTRY_ENUM EnumPtr,
  365. IN PCTSTR ListReportText
  366. );
  367. BOOL
  368. EnumNextListEntry (
  369. IN OUT PLISTREPORTENTRY_ENUM EnumPtr
  370. );