Source code of Windows XP (NT5)
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.

460 lines
7.0 KiB

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