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.

153 lines
2.6 KiB

  1. /*++
  2. Copyright (c) 1998 Microsoft Corporation
  3. Module Name:
  4. migmain.h
  5. Abstract:
  6. Declares routines for w95upgnt\migmain, the NT-side migration
  7. library that does all the work.
  8. Author:
  9. Jim Schmidt (jimschm) 12-Sep-1996
  10. Revision History:
  11. <alias> <date> <comments>
  12. --*/
  13. #pragma once
  14. //
  15. // migmain.h -- public interface for migmain.lib
  16. //
  17. //
  18. BOOL MigMain_Init (void);
  19. BOOL MigMain_Migrate (void);
  20. BOOL MigMain_Cleanup (void);
  21. VOID
  22. TerminateProcessingTable (
  23. VOID
  24. );
  25. //
  26. // filter functions in migmain.c
  27. //
  28. typedef enum {
  29. CONVERTPATH_NOT_REMAPPED,
  30. CONVERTPATH_REMAPPED,
  31. CONVERTPATH_DELETED
  32. } CONVERTPATH_RC;
  33. CONVERTPATH_RC
  34. ConvertWin9xPath (
  35. IN OUT PTSTR PathBuf
  36. );
  37. //
  38. // User enum
  39. //
  40. typedef enum {
  41. WIN9X_USER_ACCOUNT,
  42. ADMINISTRATOR_ACCOUNT,
  43. LOGON_USER_SETTINGS,
  44. DEFAULT_USER_ACCOUNT
  45. } ACCOUNTTYPE;
  46. typedef struct {
  47. HKEY UserHiveRoot;
  48. TCHAR TempProfile[MAX_TCHAR_PATH];
  49. TCHAR ProfileToDelete[MAX_TCHAR_PATH];
  50. BOOL UserHiveRootOpen;
  51. BOOL UserHiveRootCreated;
  52. BOOL DefaultHiveSaved;
  53. BOOL LastUserWasDefault;
  54. } USERMIGDATA, *PUSERMIGDATA;
  55. typedef struct {
  56. //
  57. // These members are information to the caller
  58. //
  59. UINT TotalUsers;
  60. UINT ActiveUsers;
  61. TCHAR Win9xUserName[MAX_USER_NAME];
  62. TCHAR FixedUserName[MAX_USER_NAME];
  63. TCHAR FixedDomainName[MAX_USER_NAME];
  64. ACCOUNTTYPE AccountType;
  65. TCHAR UserDatLocation[MAX_TCHAR_PATH];
  66. BOOL Valid;
  67. BOOL CreateOnly;
  68. BOOL UserDoingTheUpgrade;
  69. PUSERMIGDATA ExtraData; // NULL if not available
  70. //
  71. // These members are for internal use by the
  72. // enumeration routines.
  73. //
  74. UINT UserNumber;
  75. DWORD Flags;
  76. TCHAR Win95RegName[MAX_USER_NAME];
  77. USERPOSITION up;
  78. } MIGRATE_USER_ENUM, *PMIGRATE_USER_ENUM;
  79. #define ENUM_SET_WIN9X_HKR 0x0001
  80. #define ENUM_ALL_USERS 0x0002
  81. #define ENUM_NO_FLAGS 0
  82. BOOL
  83. EnumFirstUserToMigrate (
  84. OUT PMIGRATE_USER_ENUM e,
  85. IN DWORD Flags
  86. );
  87. BOOL
  88. EnumNextUserToMigrate (
  89. IN OUT PMIGRATE_USER_ENUM e
  90. );
  91. #define REQUEST_QUERYTICKS 1
  92. #define REQUEST_RUN 2
  93. #define REQUEST_BEGINUSERPROCESSING 3
  94. #define REQUEST_ENDUSERPROCESSING 4
  95. //
  96. // tapi.c
  97. //
  98. BOOL
  99. Tapi_MigrateSystem (
  100. VOID
  101. );
  102. BOOL
  103. Tapi_MigrateUser (
  104. IN PCTSTR UserName,
  105. IN HKEY UserRoot
  106. );
  107. DWORD
  108. DeleteSysTapiSettings (
  109. IN DWORD Request
  110. );
  111. DWORD
  112. DeleteUserTapiSettings (
  113. IN DWORD Request,
  114. IN PMIGRATE_USER_ENUM EnumPtr
  115. );