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.

115 lines
3.2 KiB

  1. /*++
  2. Copyright (c) Microsoft Corporation. All rights reserved.
  3. Module Name:
  4. plugin.h
  5. Abstract:
  6. This file declares the migration DLL interface as needed
  7. by the code that implements the interface. The structures
  8. and routines are for internal use by setup only.
  9. Author:
  10. Mike Condra (mikeco) 14-Dec-1997
  11. Revision History:
  12. jimschm 13-Jan-1998 Revised slightly for new implementation
  13. --*/
  14. #pragma once
  15. //
  16. // private
  17. //
  18. // ANSI!
  19. #define PLUGIN_MIGRATE_DLL "migrate.dll"
  20. #define PLUGIN_QUERY_VERSION "QueryVersion"
  21. #define PLUGIN_INITIALIZE_9X "Initialize9x"
  22. #define PLUGIN_MIGRATE_USER_9X "MigrateUser9x"
  23. #define PLUGIN_MIGRATE_SYSTEM_9X "MigrateSystem9x"
  24. #define PLUGIN_INITIALIZE_NT "InitializeNT"
  25. #define PLUGIN_MIGRATE_USER_NT "MigrateUserNT"
  26. #define PLUGIN_MIGRATE_SYSTEM_NT "MigrateSystemNT"
  27. // TCHAR
  28. #define PLUGIN_TEMP_DIR TEXT("setup\\win95upg")
  29. //
  30. // Vendor info struct
  31. //
  32. typedef struct {
  33. CHAR CompanyName[256];
  34. CHAR SupportNumber[256];
  35. CHAR SupportUrl[256];
  36. CHAR InstructionsToUser[1024];
  37. } VENDORINFO, *PVENDORINFO;
  38. typedef struct {
  39. WCHAR CompanyName[256];
  40. WCHAR SupportNumber[256];
  41. WCHAR SupportUrl[256];
  42. WCHAR InstructionsToUser[1024];
  43. } VENDORINFOW, *PVENDORINFOW;
  44. //
  45. // public
  46. //
  47. // UNICODE!
  48. typedef LONG (CALLBACK *P_INITIALIZE_NT)(
  49. IN LPCWSTR WorkingDirectory,
  50. IN LPCWSTR SourceDirectories,
  51. LPVOID Reserved
  52. );
  53. typedef LONG (CALLBACK *P_MIGRATE_USER_NT)(
  54. IN HINF hUnattendInf,
  55. IN HKEY hkUser,
  56. IN LPCWSTR szUserName,
  57. LPVOID Reserved
  58. );
  59. typedef LONG (CALLBACK *P_MIGRATE_SYSTEM_NT)(
  60. IN HINF hUnattendInf,
  61. LPVOID Reserved
  62. );
  63. // ANSI!
  64. typedef LONG (CALLBACK *P_QUERY_VERSION)(
  65. OUT LPCSTR *szProductID,
  66. OUT LPUINT plDllVersion,
  67. OUT LPINT *pCodePageArray OPTIONAL,
  68. OUT LPCSTR *ExeNamesBuf OPTIONAL,
  69. OUT PVENDORINFO *VendorInfo
  70. );
  71. typedef LONG (CALLBACK *P_INITIALIZE_9X)(
  72. IN LPSTR szWorkingDirectory OPTIONAL,
  73. IN LPSTR SourcesDirectories,
  74. LPVOID Reserved
  75. );
  76. typedef LONG (CALLBACK *P_MIGRATE_USER_9X)(
  77. IN HWND hwndParent OPTIONAL,
  78. IN LPCSTR szUnattendFile,
  79. IN HKEY hkUser,
  80. IN LPCSTR szUserName OPTIONAL,
  81. LPVOID Reserved
  82. );
  83. typedef LONG (CALLBACK *P_MIGRATE_SYSTEM_9X)(
  84. IN HWND hwndParent OPTIONAL,
  85. IN LPCSTR szUnattendFile,
  86. LPVOID Reserved
  87. );