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.

781 lines
18 KiB

  1. /*++
  2. Copyright (c) 1998 Microsoft Corporation
  3. Module Name:
  4. w95upg.h
  5. Abstract:
  6. Defines types and functions, and declares globals used for
  7. w95upg.dll only.
  8. Author:
  9. Jim Schmidt (jimschm) 25-Sep-1996
  10. Revision History:
  11. See SLM log
  12. --*/
  13. #pragma once
  14. // property sheet
  15. #include <prsht.h>
  16. // twain data structs
  17. #include <twain.h>
  18. #include "unattend.h"
  19. WINNT32_PLUGIN_INIT_ROUTINE_PROTOTYPE Winnt32PluginInit;
  20. WINNT32_PLUGIN_GETPAGES_ROUTINE_PROTOTYPE Winnt32PluginGetPages;
  21. WINNT32_PLUGIN_WRITEPARAMS_ROUTINE_PROTOTYPE Winnt32WriteParams;
  22. WINNT32_PLUGIN_CLEANUP_ROUTINE_PROTOTYPE Winnt32Cleanup;
  23. extern UINT g_ProgressBarTime;
  24. //
  25. // Macro returns true if setup is running in unattended mode.
  26. //
  27. #define UNATTENDED() (g_UnattendedFlagPtr && *g_UnattendedFlagPtr)
  28. //
  29. // Macro returns true if setup is running in upgrade mode.
  30. //
  31. #define UPGRADE() (g_UpgradeFlagPtr && *g_UpgradeFlagPtr)
  32. //
  33. // Macro returns true if setup is running in report-only mode.
  34. //
  35. #define REPORTONLY() (g_ConfigOptions.ReportOnly)
  36. //
  37. // Macro returns true if setup is running in typical mode.
  38. //
  39. #define TYPICAL() (g_SetupFlags && (*g_SetupFlags & UPG_FLAG_TYPICAL))
  40. //
  41. // Macros for setting, clearing, and checking the cancel flag.
  42. //
  43. #define SETCANCEL() (g_CancelFlagPtr ? *g_CancelFlagPtr = TRUE : 0)
  44. #define CLEARCANCEL() (g_CancelFlagPtr ? *g_CancelFlagPtr = FALSE : 0)
  45. #define CANCELLED() (g_CancelFlagPtr && *g_CancelFlagPtr)
  46. #define SOURCEDIRECTORYCOUNT() (g_SourceDirectoryCount)
  47. #define SOURCEDIRECTORYARRAY() (g_SourceDirectories)
  48. #define SOURCEDIRECTORY(n) (g_SourceDirectories[n])
  49. #define OPTIONALDIRECTORYCOUNT() (g_OptionalDirectoryCount)
  50. #define OPTIONALDIRECTORYARRAY() (g_OptionalDirectories)
  51. #define OPTIONALDIRECTORY(n) (g_OptionalDirectories[n])
  52. //
  53. // Globals in dllentry.c
  54. //
  55. extern PTSTR g_WinDir;
  56. extern PTSTR g_WinDirWack;
  57. extern PTSTR g_WinDrive;
  58. extern PTSTR g_PlugInDir;
  59. extern PTSTR g_PlugInDirWack;
  60. extern PTSTR g_PlugInTempDir;
  61. extern PTSTR g_TempDir;
  62. extern PTSTR g_Win9xSifDir;
  63. extern PTSTR g_TempDirWack;
  64. extern PTSTR g_SystemDir;
  65. extern PTSTR g_SystemDirWack;
  66. extern PTSTR g_System32Dir;
  67. extern PTSTR g_System32DirWack;
  68. extern PTSTR g_ProgramFilesDir;
  69. extern PTSTR g_ProgramFilesDirWack;
  70. extern PTSTR g_ProgramFilesCommonDir;
  71. extern PTSTR g_RecycledDirWack;
  72. extern PTSTR g_Win95UpgInfFile;
  73. extern PTSTR g_ProfileDirNt;
  74. extern PTSTR g_ProfileDir;
  75. extern PTSTR g_ProfileDirWack;
  76. extern PTSTR g_CommonProfileDir;
  77. extern PTSTR g_DriversDir;
  78. extern PTSTR g_InfDir;
  79. extern PTSTR g_HelpDir;
  80. extern PTSTR g_HelpDirWack;
  81. extern PTSTR g_CatRootDir;
  82. extern PTSTR g_CatRootDirWack;
  83. extern PTSTR g_FontsDir;
  84. extern PTSTR g_ViewersDir;
  85. extern PTSTR g_ColorDir;
  86. extern PTSTR g_SharedDir;
  87. extern PTSTR g_SpoolDir;
  88. extern PTSTR g_SpoolDriversDir;
  89. extern PTSTR g_PrintProcDir;
  90. extern PCTSTR g_SourceDirectories[MAX_SOURCE_COUNT];
  91. extern DWORD g_SourceDirectoryCount;
  92. extern PCTSTR g_OptionalDirectories[MAX_SOURCE_COUNT];
  93. extern DWORD g_OptionalDirectoryCount;
  94. extern PCTSTR* g_SourceDirectoriesFromWinnt32;
  95. extern PDWORD g_SourceDirectoryCountFromWinnt32;
  96. extern PCTSTR* g_OptionalDirectoriesFromWinnt32;
  97. extern PDWORD g_OptionalDirectoryCountFromWinnt32;
  98. extern PCTSTR* g_UnattendScriptFile;
  99. extern PCTSTR* g_CmdLineOptions;
  100. extern TCHAR g_DllDir[];
  101. extern TCHAR g_UpgradeSources[];
  102. extern BOOL * g_UnattendedFlagPtr;
  103. extern BOOL * g_CancelFlagPtr;
  104. extern BOOL * g_AbortFlagPtr;
  105. extern BOOL * g_UpgradeFlagPtr;
  106. extern BOOL * g_MakeLocalSourcePtr;
  107. extern BOOL * g_CdRomInstallPtr;
  108. extern BOOL * g_BlockOnNotEnoughSpace;
  109. extern PDWORD g_LocalSourceDrive;
  110. extern PLONGLONG g_LocalSourceSpace;
  111. extern PLONGLONG g_WinDirSpace;
  112. extern PUINT g_RamNeeded;
  113. extern PUINT g_RamAvailable;
  114. extern HINF g_Win95UpgInf;
  115. extern HINF g_TxtSetupSif;
  116. extern TCHAR g_Win95Name[MAX_TCHAR_PATH];
  117. extern BOOL * g_ForceNTFSConversion;
  118. extern UINT * g_ProductFlavor;
  119. extern BOOL g_PersonalSKU;
  120. extern PDWORD g_SetupFlags;
  121. extern PCTSTR g_DynamicUpdateLocalDir;
  122. extern PCTSTR g_DynamicUpdateDrivers;
  123. extern BOOL * g_UnattendSwitchSpecified;
  124. extern BOOL * g_DUCompletedSuccessfully;
  125. extern INT g_TempDirWackChars;
  126. extern INT g_WinDirWackChars;
  127. extern INT g_HelpDirWackChars;
  128. extern INT g_CatRootDirWackChars;
  129. extern INT g_SystemDirWackChars;
  130. extern INT g_System32DirWackChars;
  131. extern INT g_PlugInDirWackChars;
  132. extern INT g_RecycledDirWackChars;
  133. extern INT g_ProfileDirWackChars;
  134. extern INT g_ProgramFilesDirWackChars;
  135. extern PRODUCTTYPE * g_ProductType;
  136. extern USEROPTIONS g_ConfigOptions;
  137. extern BOOL g_UseSystemFont;
  138. extern LPCTSTR g_ProfileName;
  139. extern HWND g_ParentWnd;
  140. extern PCTSTR g_AdministratorStr;
  141. #ifdef PRERELEASE
  142. extern BOOL g_Stress; // private stress mode
  143. #endif
  144. extern POOLHANDLE g_GlobalPool; // for global strings that last for the complete runtime
  145. extern UINT * g_Boot16;
  146. extern BOOL g_BadVirusScannerFound;
  147. extern BOOL g_BlockingFileFound;
  148. extern BOOL g_BlockingHardwareFound;
  149. extern BOOL g_BlockingAppFound;
  150. extern BOOL g_KillNav;
  151. extern GROWLIST g_BadVirusScannerGrowList;
  152. extern BOOL g_OtherOsExists;
  153. extern BOOL g_UnknownOs;
  154. extern BOOL g_ToolMode;
  155. extern DWORD g_BackupDirCount;
  156. extern PMAPSTRUCT g_CacheShellFolders;
  157. //
  158. // Globals in sysmig\migmain.c
  159. //
  160. extern ICON_EXTRACT_CONTEXT g_IconContext;
  161. //
  162. // Tool Mode: Routines specific to non-shipping tools
  163. //
  164. BOOL
  165. InitToolMode (
  166. HINSTANCE Instance
  167. );
  168. VOID
  169. TerminateToolMode (
  170. HINSTANCE Instance
  171. );
  172. //
  173. // COMMON9X: common9x.c
  174. //
  175. VOID
  176. InitializeKnownGoodIconMap (
  177. VOID
  178. );
  179. VOID
  180. CleanUpKnownGoodIconMap (
  181. VOID
  182. );
  183. BOOL
  184. IsIconKnownGood (
  185. IN PCTSTR FileSpec,
  186. IN INT Index
  187. );
  188. typedef struct {
  189. TCHAR JoystickDriver[MAX_TCHAR_PATH];
  190. TCHAR JoystickName[MAX_TCHAR_PATH];
  191. HKEY Root;
  192. UINT JoyId;
  193. } JOYSTICK_ENUM, *PJOYSTICK_ENUM;
  194. BOOL
  195. EnumFirstJoystick (
  196. OUT PJOYSTICK_ENUM EnumPtr
  197. );
  198. BOOL
  199. EnumNextJoystick (
  200. IN OUT PJOYSTICK_ENUM EnumPtr
  201. );
  202. VOID
  203. AbortJoystickEnum (
  204. IN OUT PJOYSTICK_ENUM EnumPtr
  205. );
  206. LRESULT
  207. TwoButtonBox (
  208. IN HWND Window,
  209. IN PCTSTR Text,
  210. IN PCTSTR Button1,
  211. IN PCTSTR Button2
  212. );
  213. BOOL
  214. DontTouchThisFile (
  215. IN PCTSTR FileName
  216. );
  217. VOID
  218. ReplaceOneEnvVar (
  219. IN OUT PCTSTR *NewString,
  220. IN PCTSTR Base,
  221. IN PCTSTR Variable,
  222. IN PCTSTR Value
  223. );
  224. VOID
  225. Init9xEnvironmentVariables (
  226. VOID
  227. );
  228. BOOL
  229. Expand9xEnvironmentVariables (
  230. IN PCSTR SourceString,
  231. OUT PSTR DestinationString, // can be the same as SourceString
  232. IN INT DestSizeInBytes
  233. );
  234. VOID
  235. CleanUp9xEnvironmentVariables (
  236. VOID
  237. );
  238. BOOL
  239. FixGuid (
  240. IN PCTSTR Guid,
  241. OUT PTSTR NewGuid // can be the same as Guid
  242. );
  243. BOOL
  244. IsGuid (
  245. IN PCTSTR Guid,
  246. IN BOOL MustHaveBraces
  247. );
  248. //
  249. // COMMON9X: userenum.c
  250. //
  251. typedef enum {
  252. NAMED_USER = 0x0001,
  253. DEFAULT_USER = 0x0002,
  254. ADMINISTRATOR = 0x0004,
  255. LAST_LOGGED_ON_USER = 0x0008,
  256. INVALID_ACCOUNT = 0x0010,
  257. LOGON_PROMPT = 0x0020,
  258. CURRENT_USER = 0x0040
  259. } ACCOUNTTYPE;
  260. typedef enum {
  261. UE_STATE_INIT,
  262. UE_STATE_BEGIN_WIN95REG,
  263. UE_STATE_NEXT_WIN95REG,
  264. UE_STATE_NO_USERS,
  265. UE_STATE_ADMINISTRATOR,
  266. UE_STATE_LOGON_PROMPT,
  267. UE_STATE_DEFAULT_USER,
  268. UE_STATE_RETURN,
  269. UE_STATE_CLEANUP,
  270. UE_STATE_END
  271. } USERENUM_STATE;
  272. typedef struct {
  273. // Enumeration Output
  274. TCHAR UserName[MAX_USER_NAME]; // always filled, even for logon prompt or default user
  275. TCHAR FixedUserName[MAX_USER_NAME]; // always filled, unless caller specifically turns this off
  276. TCHAR AdminUserName[MAX_USER_NAME]; // filled if AccountType is ADMINISTRATOR
  277. TCHAR FixedAdminUserName[MAX_USER_NAME]; // filled if AccountType is ADMINISTRATOR
  278. TCHAR UserDatPath[MAX_TCHAR_PATH]; // is empty if AccountType has INVALID_ACCOUNT
  279. TCHAR ProfileDirName[MAX_TCHAR_PATH]; // is empty if AccountType has INVALID_ACCOUNT
  280. TCHAR OrgProfilePath[MAX_TCHAR_PATH]; // is empty if AccountType has INVALID_ACCOUNT
  281. TCHAR NewProfilePath[MAX_TCHAR_PATH]; // symbolic path because actual path is not known
  282. ACCOUNTTYPE AccountType; // always filled
  283. BOOL CreateAccountOnly; // TRUE for valid accounts that won't be migrated
  284. HKEY UserRegKey; // NULL if AccountType has INVALID_ACCOUNT, or caller specifies no hive flag
  285. BOOL CommonProfilesEnabled; // filled by EnumFirstUser
  286. // Privates for enumeration
  287. BOOL EnableNameFix;
  288. BOOL DoNotMapHive;
  289. BOOL WantCreateOnly;
  290. BOOL WantLogonPrompt;
  291. USERPOSITION pos;
  292. BOOL DefaultUserHive;
  293. BOOL RealAdminAccountExists;
  294. BOOL LastEnumWasAdmin;
  295. TCHAR LastLoggedOnUserName[MAX_USER_NAME];
  296. TCHAR CurrentUserName[MAX_USER_NAME];
  297. PVOID ProfileDirTable;
  298. USERENUM_STATE State;
  299. USERENUM_STATE NextState;
  300. } USERENUM, *PUSERENUM;
  301. #define ENUMUSER_ENABLE_NAME_FIX 0x0001
  302. #define ENUMUSER_DO_NOT_MAP_HIVE 0x0002
  303. #define ENUMUSER_ADMINISTRATOR_ALWAYS 0x0004
  304. #define ENUMUSER_NO_LOGON_PROMPT 0x0008
  305. BOOL
  306. EnumFirstUser (
  307. OUT PUSERENUM EnumPtr,
  308. IN DWORD Flags
  309. );
  310. BOOL
  311. EnumNextUser (
  312. IN OUT PUSERENUM EnumPtr
  313. );
  314. VOID
  315. EnumUserAbort (
  316. IN OUT PUSERENUM EnumPtr
  317. );
  318. //
  319. // COMMON9X: ntenv.c
  320. //
  321. VOID
  322. InitNtEnvironment (
  323. VOID
  324. );
  325. VOID
  326. TerminateNtEnvironment (
  327. VOID
  328. );
  329. VOID
  330. InitNtUserEnvironment (
  331. IN PUSERENUM UserEnumPtr
  332. );
  333. VOID
  334. TerminateNtUserEnvironment (
  335. VOID
  336. );
  337. VOID
  338. MapNtUserEnvironmentVariable (
  339. IN PCSTR Variable,
  340. IN PCSTR Value
  341. );
  342. VOID
  343. MapNtSystemEnvironmentVariable (
  344. IN PCSTR Variable,
  345. IN PCSTR Value
  346. );
  347. BOOL
  348. ExpandNtEnvironmentVariables (
  349. IN PCSTR SourceString,
  350. OUT PSTR DestinationString, // can be the same as SourceString
  351. IN INT DestSizeInBytes
  352. );
  353. //
  354. // COMMON9X: namefix.c
  355. //
  356. BOOL
  357. ValidateName (
  358. IN HWND ParentWnd, OPTIONAL
  359. IN PCTSTR NameGroup,
  360. IN PCTSTR NameCandidate
  361. );
  362. BOOL
  363. ValidateDomainNameChars (
  364. IN PCTSTR NameCandidate
  365. );
  366. BOOL
  367. ValidateUserNameChars (
  368. IN PCTSTR NameCandidate
  369. );
  370. VOID
  371. CreateNameTables (
  372. VOID
  373. );
  374. BOOL
  375. IsIncompatibleNamesTableEmpty (
  376. VOID
  377. );
  378. BOOL
  379. GetUpgradeComputerName (
  380. OUT PTSTR NewComputerName
  381. );
  382. BOOL
  383. GetUpgradeDomainName (
  384. OUT PTSTR ComputerDomainName
  385. );
  386. BOOL
  387. GetUpgradeWorkgroupName (
  388. OUT PTSTR WorkgroupName
  389. );
  390. BOOL
  391. GetUpgradeUserName (
  392. IN PCTSTR User,
  393. OUT PTSTR NewUserName
  394. );
  395. BOOL
  396. WarnAboutBadNames (
  397. IN HWND PopupParent
  398. );
  399. BOOL
  400. IsOriginalDomainNameValid (
  401. VOID
  402. );
  403. //
  404. // COMMON9X: twain.c
  405. //
  406. //
  407. // TWAIN support
  408. //
  409. typedef enum {
  410. TE_INIT,
  411. TE_BEGIN_ENUM,
  412. TE_EVALUATE,
  413. TE_RETURN,
  414. TE_NEXT,
  415. TE_END_ENUM,
  416. TE_DONE
  417. } TWAIN_ENUM_STATE;
  418. typedef struct {
  419. // externally used members
  420. TW_STR32 Manufacturer;
  421. TW_STR32 ProductFamily;
  422. TW_STR32 DisplayName;
  423. CHAR DataSourceModule[MAX_MBCHAR_PATH];
  424. // internal enum members
  425. TWAIN_ENUM_STATE State;
  426. PCTSTR Dir;
  427. TREE_ENUM Enum;
  428. } TWAINDATASOURCE_ENUM, *PTWAINDATASOURCE_ENUM;
  429. BOOL
  430. EnumFirstTwainDataSource (
  431. OUT PTWAINDATASOURCE_ENUM EnumPtr
  432. );
  433. BOOL
  434. EnumNextTwainDataSource (
  435. IN OUT PTWAINDATASOURCE_ENUM EnumPtr
  436. );
  437. VOID
  438. AbortTwainDataSourceEnum (
  439. IN OUT PTWAINDATASOURCE_ENUM EnumPtr
  440. );
  441. //
  442. // Routine to add paths to Migration paths; defined in migapp\filescan.c
  443. //
  444. VOID
  445. AddMigrationPathEx (
  446. IN PCTSTR PathLong,
  447. IN DWORD Levels,
  448. IN BOOL Win9xOsPath
  449. );
  450. #define AddMigrationPath(p,l) AddMigrationPathEx(p,l,FALSE)
  451. //
  452. // Routine to check if a file is a Win32 DLL (migapp\modules.c)
  453. //
  454. BOOL
  455. IsWin32Library (
  456. IN PCTSTR ModuleName
  457. );
  458. //
  459. // Routine to check if a file is a Win32 EXE (migapp\modules.c)
  460. //
  461. BOOL
  462. IsWin32Exe (
  463. IN PCTSTR ModuleName
  464. );
  465. //
  466. // Routine to check if the currently generated report is empty,
  467. // given a Level of filtration
  468. //
  469. BOOL
  470. IsReportEmpty (
  471. IN DWORD Level
  472. );
  473. //
  474. // SYSMIG: userloop.c
  475. //
  476. PCTSTR
  477. ShellFolderGetPath (
  478. IN PUSERENUM EnumPtr,
  479. IN PCTSTR ShellFolderId
  480. );
  481. //
  482. // constant to identify the whole subtree of a path
  483. //
  484. #define MAX_DEEP_LEVELS 0xFFFFFFFF
  485. //
  486. // Enumeration structs
  487. //
  488. typedef enum {
  489. ENUM_STATE_INIT,
  490. ENUM_STATE_ENUM_FIRST_GROUP_ITEM,
  491. ENUM_STATE_RETURN_GROUP_ITEM,
  492. ENUM_STATE_ENUM_NEXT_GROUP_ITEM,
  493. ENUM_STATE_ENUM_NEXT_GROUP,
  494. ENUM_STATE_DONE
  495. } INVALID_NAME_STATE;
  496. typedef struct {
  497. //
  498. // Enumeration state
  499. //
  500. PCTSTR GroupName;
  501. TCHAR DisplayGroupName[256];
  502. PCTSTR OriginalName;
  503. TCHAR NewName[MEMDB_MAX];
  504. DWORD Identifier;
  505. //
  506. // Private enumeration members
  507. //
  508. MEMDB_ENUM NameGroup;
  509. MEMDB_ENUM Name;
  510. INVALID_NAME_STATE State;
  511. } INVALID_NAME_ENUM, *PINVALID_NAME_ENUM;
  512. //
  513. // Enumeration routines
  514. //
  515. BOOL
  516. EnumFirstInvalidName (
  517. OUT PINVALID_NAME_ENUM EnumPtr
  518. );
  519. BOOL
  520. EnumNextInvalidName (
  521. IN OUT PINVALID_NAME_ENUM EnumPtr
  522. );
  523. //
  524. // Maintenence routines
  525. //
  526. VOID
  527. GetNamesFromIdentifier (
  528. IN DWORD Identifier,
  529. IN PTSTR NameGroup, OPTIONAL
  530. IN PTSTR OriginalName, OPTIONAL
  531. IN PTSTR NewName OPTIONAL
  532. );
  533. VOID
  534. ChangeName (
  535. IN DWORD Identifier,
  536. IN PCTSTR NewName
  537. );
  538. VOID
  539. DisableDomainChecks (
  540. VOID
  541. );
  542. VOID
  543. EnableDomainChecks (
  544. VOID
  545. );
  546. DWORD
  547. GetDomainIdentifier (
  548. VOID
  549. );
  550. BOOL
  551. TreatAsGood (
  552. IN PCTSTR FullPath
  553. );
  554. VOID
  555. TerminateWinntSifBuilder (
  556. VOID
  557. );
  558. //
  559. // win95upg.inf sections and keys
  560. //
  561. #define SECTION_MIGRATION_FILES TEXT("MigrationFiles")
  562. #define SECTION_MIGRATION_DIRECTORIES TEXT("MigrationDirectories")
  563. #define KEY_TEMP_BASE TEXT("TempBase")
  564. #define KEY_MIG_EXT_ROOT TEXT("MigExtRoot")
  565. #define KEY_PATHS_FILE TEXT("MigExtPathsFile")
  566. #define WINDIR_SYSTEM_FIXED_FILES TEXT("WinDirSystemFixedFiles")
  567. #define SYSTEM32_FORCED_MOVE TEXT("System32ForcedMove")
  568. //
  569. // Other string constants
  570. //
  571. #define STR_WIN95UPG_INF TEXT("win95upg.inf")
  572. #define STR_SYSTEM32 TEXT("System32")
  573. // ticks for all functions
  574. #define TICKS_READ_NT_FILES 3000
  575. #define TICKS_MISC_MESSAGES 1
  576. #define TICKS_BUILD_UNATTEND 700
  577. #define TICKS_PRESERVE_SHELL_ICONS 1300
  578. #define TICKS_DELETE_WIN_DIR_WACK_INF 2100
  579. #define TICKS_MOVE_INI_FILES 30
  580. #define TICKS_SAVE_DOS_FILES 10
  581. #define TICKS_INIT_WIN95_REGISTRY 10
  582. #define TICKS_SAVE_SHARES 130
  583. #define TICKS_BAD_NAMES_WARNING 10
  584. #define TICKS_SAVE_MM_SETTINGS_SYSTEM 50
  585. #define TICKS_SAVE_MM_SETTINGS_USER 1100
  586. #define TICKS_CONDITIONAL_INCOMPATIBILITIES 200
  587. #define TICKS_HARDWARE_PROFILE_WARNING 10
  588. #define TICKS_UNSUPPORTED_PROTOCOLS_WARNING 30
  589. #define TICKS_RAS_PREPARE_REPORT 100
  590. #define TICKS_END_MIGRATION_DLL_PROCESSING 100
  591. #define TICKS_PREPARE_PROCESS_MODULES 5000
  592. #define TICKS_PROCESS_MODULES 10000
  593. #define TICKS_PROCESS_COMPATIBLE_SECTION 100
  594. #define TICKS_INIT_MIGDB 6200
  595. #define TICKS_DONE_MIGDB 4100
  596. #define TICKS_PROCESS_RUN_KEY 20
  597. #define TICKS_PROCESS_SHELL_SETTINGS 25
  598. #define TICKS_CHECK_NT_DIRS 300
  599. #define TICKS_MOVE_SYSTEM_DIR 6200
  600. #define TICKS_PROCESS_LINKS 3000
  601. #define TICKS_PROCESS_CPLS 3000
  602. #define TICKS_FILESCAN_DIR_INCREMENT 400
  603. #define TICKS_DOSMIG_PREPARE_REPORT 300
  604. #define TICKS_MIGDLL_QUERYVERSION 500
  605. #define TICKS_MIGDLL_DELTA 1000
  606. #define TICKS_MOVE_STATIC_FILES 15
  607. #define TICKS_COPY_STATIC_FILES 15
  608. #define TICKS_USERPROFILE_MIGRATION 250
  609. #define TICKS_MOVE_SYSTEMREGISTRY 10
  610. #define TICKS_OLEREG 8000
  611. #define TICKS_TWAIN 100
  612. #define TICKS_BACKUP_LAYOUT_OUTPUT 7000
  613. #define TICKS_SPACECHECK 5000
  614. #define TICKS_JOYSTICK_DETECTION 50
  615. #define TICKS_RECYCLEBINS 2000
  616. #define TICKS_GATHER_IME_INFO 2000
  617. #define TICKS_INIT_HLP_PROCESSING 50
  618. #define TICKS_ANSWER_FILE_DETECTION 20
  619. #define TICKS_INIT_APP_COMPAT 1000
  620. #define TICKS_DONE_APP_COMPAT 100
  621. #define TICKS_GATHERDEAD 120
  622. #define TICKS_CREATE_FILE_LISTS 7000
  623. #define TICKS_PREPAREPNPIDLIST 450
  624. #define TICKS_ADDDEFAULTCLEANUPDIRS 155
  625. #define TICKS_INITINIPROCESSING 255
  626. #define TICKS_DELETESTATICFILES 320
  627. #define TICKS_PROCESSMIGRATIONSECTIONS 2400
  628. #define TICKS_REPORTMAPIIFNOTHANDLED 200
  629. #define TICKS_FUSIONFILES 300
  630. #define TICKS_REPORTDARWINIFNOTHANDLED 200