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.

259 lines
11 KiB

  1. /*++
  2. Copyright (c) 1995 Microsoft Corporation
  3. Module Name:
  4. winbom.h
  5. Abstract:
  6. Header file that contains declarations for the WINBOM file
  7. Author:
  8. Donald McNamara (donaldm) 2/8/2000
  9. Revision History:
  10. - Added defines for app preinstall: Jason Lawrence (t-jasonl) 6/7/2000
  11. - Added defines for winpe section: Adrian Cosma (acosma) 10/23/2000
  12. --*/
  13. //
  14. // WINBOM.INI section headers, and key names.
  15. //
  16. #define FILE_WINBOM_INI _T("WINBOM.INI")
  17. #define INI_VAL_WBOM_YES _T("Yes")
  18. #define WBOM_YES INI_VAL_WBOM_YES
  19. #define INI_VAL_WBOM_NO _T("No")
  20. #define WBOM_NO INI_VAL_WBOM_NO
  21. // Factory Section:
  22. //
  23. #define INI_SEC_WBOM_FACTORY _T("factory")
  24. #define WBOM_FACTORY_SECTION INI_SEC_WBOM_FACTORY
  25. #define INI_KEY_WBOM_FACTORY_NEWWINBOM _T("NewWinBOM")
  26. #define WBOM_FACTORY_FORCEIDSCAN _T("AutoDetectNetwork")
  27. #define INI_KEY_WBOM_FACTCOMPNAME _T("FactoryComputerName")
  28. #define WBOM_FACTORY_ENDUSERCOMPUTERNAME _T("EndUserComputerName")
  29. #define INI_KEY_WBOM_REBOOTCOMPNAME _T("RebootAfterComputeRName")
  30. #define WBOM_FACTORY_LOGGING _T("Logging")
  31. #define INI_KEY_WBOM_FACTORY_LOGFILE _T("LogFile")
  32. #define INI_KEY_WBOM_LOGPERF _T("LogPerf")
  33. #define INI_KEY_WBOM_LOGLEVEL _T("LogLevel")
  34. #define INI_KEY_WBOM_FACTORY_TYPE _T("WinBOMType")
  35. #define INI_VAL_WBOM_TYPE_WINPE _T("WinPE")
  36. #define INI_VAL_WBOM_TYPE_FACTORY _T("Factory")
  37. #define INI_VAL_WBOM_TYPE_OOBE _T("OOBE")
  38. #define INI_KEY_WBOM_FACTORY_RESEAL _T("Reseal")
  39. #define INI_KEY_WBOM_FACTORY_RESEALFLAGS _T("ResealFlags")
  40. #define INI_VAL_WBOM_SHUTDOWN _T("Shutdown")
  41. #define INI_VAL_WBOM_REBOOT _T("Reboot")
  42. #define INI_VAL_WBOM_FORCESHUTDOWN _T("ForceShutdown")
  43. #define INI_KEY_WBOM_FACTORY_RESEALMODE _T("ResealMode")
  44. #define INI_VAL_WBOM_FACTORY _T("Factory")
  45. #define INI_VAL_WBOM_OOBE _T("Oobe")
  46. #define INI_VAL_WBOM_MINI _T("Mini")
  47. #define INI_VAL_WBOM_MINISETUP _T("MiniSetup")
  48. #define INI_VAL_WBOM_AUDIT _T("Audit")
  49. // Multiple Sections:
  50. //
  51. #define INI_VAL_WBOM_USERNAME _T("Username")
  52. #define INI_VAL_WBOM_PASSWORD _T("Password")
  53. #define INI_VAL_WBOM_DOMAIN _T("Domain")
  54. // Settings for Application Preinstall
  55. //
  56. #define INI_SEC_WBOM_PREINSTALL _T("OemRunOnce")
  57. #define INI_VAL_WBOM_STAGE _T("Stage")
  58. #define INI_VAL_WBOM_DETACH _T("Detach")
  59. #define INI_VAL_WBOM_ATTACH _T("Attach")
  60. #define INI_VAL_WBOM_STANDARD _T("Standard")
  61. #define INI_VAL_WBOM_MSI _T("MSI")
  62. #define INI_VAL_WBOM_APP _T("APP")
  63. #define INI_VAL_WBOM_INF _T("INF")
  64. #define INI_KEY_WBOM_INSTALLTYPE _T("InstallType")
  65. #define INI_KEY_WBOM_SOURCEPATH _T("SourcePath")
  66. #define INI_KEY_WBOM_TARGETPATH _T("StagePath")
  67. #define INI_KEY_WBOM_SETUPFILE _T("SetupFile")
  68. #define INI_KEY_WBOM_CMDLINE _T("CmdLine")
  69. #define INI_KEY_WBOM_REBOOT _T("Reboot")
  70. #define INI_KEY_WBOM_REMOVETARGET _T("RemoveStagePath")
  71. #define INI_KEY_WBOM_SECTIONNAME _T("SectionName")
  72. #define INI_SEC_WBOM_DRIVERUPDATE _T("pnpdriverupdate")
  73. #define WBOM_DRIVERUPDATE_USERNAME _T("username")
  74. #define WBOM_DRIVERUPDATE_PASSWORD _T("password")
  75. #define WBOM_DRIVERUPDATE_DOMAIN _T("domain")
  76. #define INI_VAL_WBOM_PNP_DIR _T("TargetRoot")
  77. #define INI_KEY_WBOM_PNPWAIT _T("WaitForPnP")
  78. #define INI_KEY_WBOM_INSTALLDRIVERS _T("UpdateInstalledDrivers")
  79. #define INI_VAL_WBOM_DEVICEPATH _T("DevicePath")
  80. #define INI_SEC_WBOM_SETTINGS _T("ComputerSettings")
  81. #define WBOM_SETTINGS_SECTION INI_SEC_WBOM_SETTINGS
  82. #define WBOM_SETTINGS_DISPLAY _T("DisplayResolution")
  83. #define WBOM_SETTINGS_REFRESH _T("DisplayRefresh")
  84. #define WBOM_SETTINGS_DISPLAY_MINWIDTH 800
  85. #define WBOM_SETTINGS_DISPLAY_MINHEIGHT 600
  86. #define WBOM_SETTINGS_DISPLAY_MINDEPTH 16
  87. #define INI_KEY_WBOM_HIBERNATION _T("Hibernation")
  88. #define INI_KEY_WBOM_PWRSCHEME _T("PowerScheme")
  89. #define INI_VAL_WBOM_PWR_ALWAYSON _T("AlwaysOn")
  90. #define INI_VAL_WBOM_PWR_ALWAYS_ON _T("Always On")
  91. #define INI_VAL_WBOM_PWR_DESKTOP _T("Desktop")
  92. #define INI_VAL_WBOM_PWR_LAPTOP _T("Laptop")
  93. #define INI_VAL_WBOM_PWR_PRESENTATION _T("Presentation")
  94. #define INI_VAL_WBOM_PWR_MINIMAL _T("Minimal")
  95. #define INI_VAL_WBOM_PWR_MAXBATTERY _T("MaxBattery")
  96. #define INI_VAL_WBOM_PWR_MAX_BATTERY _T("Max Battery")
  97. #define INI_KEY_WBOM_FONTSMOOTHING _T("FontSmoothing")
  98. #define INI_VAL_WBOM_FONTSMOOTHING_DEFAULT _T("Standard")
  99. #define INI_VAL_WBOM_FONTSMOOTHING_ON _T("On")
  100. #define INI_VAL_WBOM_FONTSMOOTHING_OFF _T("Off")
  101. #define INI_VAL_WBOM_FONTSMOOTHING_CLEARTYPE _T("ClearType")
  102. #define INI_KEY_WBOM_RESETSOURCE _T("SourcePath")
  103. #define INI_KEY_WBOM_TESTCERT _T("TestCert")
  104. #define INI_KEY_WBOM_EXTENDPART _T("ExtendPartition")
  105. #define INI_KEY_WBOM_SLPSOURCE _T("SlpFiles")
  106. #define INI_KEY_WBOM_PRODKEY _T("ProductKey")
  107. #define INI_KEY_WBOM_AUTOLOGON_OLD _T("AuditAdminAutoLogon")
  108. #define INI_KEY_WBOM_AUTOLOGON _T("AutoLogon")
  109. #define INI_SEC_WBOM_DRIVERS _T("PnPDrivers")
  110. #define WBOM_NETCARD_SECTION _T("netcards")
  111. // Shell Settings:
  112. //
  113. #define INI_SEC_WBOM_SHELL _T("Shell")
  114. #define INI_KEY_WBOM_SHELL_STARTPANELOFF _T("DefaultStartPanelOff")
  115. #define INI_KEY_WBOM_SHELL_THEMEOFF _T("DefaultThemesOff")
  116. #define INI_KEY_WBOM_SHELL_THEMEFILE _T("CustomDefaultThemeFile")
  117. #define INI_KEY_WBOM_SHELL_DOCLEANUP _T("DoDesktopCleanup")
  118. #define INI_KEY_WBOM_SHELL_STARTMESSENGER _T("StartMessenger")
  119. #define INI_KEY_WBOM_SHELL_USEMSNEXPLORER _T("MSNExplorer")
  120. #define INI_KEY_WBOM_SHELL_DEFWEB _T("DefaultClientStartMenuInternet")
  121. #define INI_KEY_WBOM_SHELL_DEFMAIL _T("DefaultClientMail")
  122. #define INI_KEY_WBOM_SHELL_DEFMEDIA _T("DefaultClientMedia")
  123. #define INI_KEY_WBOM_SHELL_DEFIM _T("DefaultClientIM")
  124. #define INI_KEY_WBOM_SHELL_DEFJAVAVM _T("DefaultClientJavaVM")
  125. // OC Components Settings:
  126. //
  127. #define INI_SEC_WBOM_COMPONENTS _T("Components")
  128. // app preinstall
  129. #define WBOM_APPPREINSTALL_SECTION _T("AppPreInstall")
  130. #define WBOM_APPPREINSTALL_TYPE _T("InstallType")
  131. #define WBOM_APPPREINSTALL_TECH _T("InstallTechnology")
  132. #define WBOM_APPPREINSTALL_SETUPFILE _T("SetupFile")
  133. #define WBOM_APPPREINSTALL_IMAGE _T("Image")
  134. #define WBOM_APPPREINSTALL_DEST _T("Destination")
  135. #define WBOM_APPPREINSTALL_LOG _T("Log")
  136. #define WBOM_APPPREINSTALL_CMDLINE _T("CmdLine")
  137. #define WBOM_APPPREINSTALL_TRANSFORM _T("Transform")
  138. #define WBOM_MAX_APPPRESECTION_NAME 256
  139. #define WBOM_MAX_APPPRESECTION_LINE 1024
  140. // Home Networking Section:
  141. //
  142. #define INI_SEC_HOMENET _T("SetupHomeNet")
  143. // Sysprep Sections:
  144. //
  145. #define INI_SEC_WBOM_SYSPREP_MSD _T("SysprepMassStorage")
  146. #define INI_SEC_WBOM_SYSPREP_CLEAN _T("SysprepCleanup")
  147. // WinPE section
  148. //
  149. #define INI_SEC_WBOM_WINPE _T("WinPE")
  150. #define WBOM_WINPE_SECTION INI_SEC_WBOM_WINPE
  151. #define INI_KEY_WBOM_WINPE_LANG _T("Lang")
  152. #define INI_KEY_WBOM_WINPE_SKU _T("Sku")
  153. #define INI_KEY_WBOM_WINPE_CFGSET _T("Configset")
  154. #define INI_KEY_WBOM_WINPE_SRCROOT _T("Sourceroot")
  155. #define INI_KEY_WBOM_WINPE_OPTSOURCES _T("OptionalSources")
  156. #define WBOM_WINPE_OPK_TARGET_DRIVE _T("Targetdrive")
  157. #define WBOM_WINPE_FORCE_FORMAT _T("ForceFormat")
  158. #define WBOM_WINPE_SRC_USERNAME _T("Username")
  159. #define WBOM_WINPE_SRC_PASSWORD _T("Password")
  160. #define WBOM_WINPE_SRC_DOMAIN _T("Domain")
  161. #define INI_KEY_WBOM_WINPE_PAGEFILE _T("PageFileSize")
  162. #define INI_KEY_WBOM_WINPE_RESTART _T("Restart")
  163. #define INI_VAL_WBOM_WINPE_REBOOT _T("Reboot")
  164. #define INI_VAL_WBOM_WINPE_SHUTDOWN _T("Shutdown")
  165. #define INI_VAL_WBOM_WINPE_POWEROFF _T("Poweroff")
  166. #define INI_VAL_WBOM_WINPE_PROMPT _T("Prompt")
  167. #define INI_VAL_WBOM_WINPE_IMAGE _T("Image")
  168. #define INI_VAL_WBOM_WINPE_NONE _T("None")
  169. #define INI_KEY_WBOM_QUIET _T("Quiet")
  170. // WinPE.net section
  171. #define INI_KEY_WBOM_WINPE_NET _T("WinPE.net")
  172. #define INI_KEY_WBOM_WINPE_NET_STARTNET _T("Startnet")
  173. #define WBOM_WINPE_NET_SUBNETMASK _T("SubnetMask")
  174. #define WBOM_WINPE_NET_IPADDRESS _T("IpConfig")
  175. #define WBOM_WINPE_NET_GATEWAY _T("Gateway")
  176. // DiskConfig Section
  177. #define INI_SEC_WBOM_DISKCONFIG _T("DiskConfig")
  178. #define WBOM_DISK_CONFIG_WIPE_DISK _T("WipeDisk")
  179. // Shell Optimizations
  180. //
  181. #define INI_KEY_WBOM_OPT_SHELL _T("OptimizeShell")
  182. // Maximum length of string to be read from winbom.ini for this section
  183. //
  184. #define MAX_WINPE_PROFILE_STRING 256
  185. // OemData Section.
  186. #define WBOM_OEMLINK_SECTION _T("OemLink")
  187. #define WBOM_DESKFLDR_SECTION _T("DesktopShortcutsFolder")
  188. // Application Preinstallation Structures
  189. //
  190. typedef enum _INSTALLTYPE
  191. {
  192. installtypeUndefined,
  193. installtypeStage,
  194. installtypeDetach,
  195. installtypeAttach,
  196. installtypeStandard
  197. } INSTALLTYPE;
  198. typedef enum _INSTALLTECH
  199. {
  200. installtechUndefined,
  201. installtechMSI,
  202. installtechApp,
  203. installtechINF
  204. } INSTALLTECH;
  205. typedef struct _INSTALLTYPES
  206. {
  207. INSTALLTYPE InstallType;
  208. LPCTSTR lpszDescription;
  209. } INSTALLTYPES, *PINSTALLTYPES, *LPINSTALLTYPES;
  210. typedef struct _INSTALLTECHS
  211. {
  212. INSTALLTECH InstallTech;
  213. LPCTSTR lpszDescription;
  214. } INSTALLTECHS, *PINSTALLTECHS, *LPINSTALLTECHS;