RegStr.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:75k
源码类别:

模拟服务器

开发平台:

C/C++

  1.  /*** regstr.h - Registry string definitions
  2.  *
  3.  *  This module contains public registry string definitions.
  4.  *
  5.  *  Copyright (c) Microsoft Corporation.  All rights reserved.
  6.  *  Created     12/10/92
  7.  *
  8.  *  MODIFICATION HISTORY
  9.  */
  10. #ifndef _INC_REGSTR
  11. #define _INC_REGSTR
  12. #if _MSC_VER > 1000
  13. #pragma once
  14. #endif
  15. /*** Public registry key names
  16.  */
  17. #define REGSTR_KEY_CLASS        TEXT("Class")      // under LOCAL_MACHINE
  18. #define REGSTR_KEY_CONFIG       TEXT("Config")     // under LOCAL_MACHINE
  19. #define REGSTR_KEY_ENUM         TEXT("Enum")       // under LOCAL_MACHINE
  20. #define REGSTR_KEY_ROOTENUM     TEXT("Root")       // child of ENUM
  21. #define REGSTR_KEY_BIOSENUM     TEXT("BIOS")       // child of ENUM
  22. #define REGSTR_KEY_ACPIENUM     TEXT("ACPI")       // child of ENUM
  23. #define REGSTR_KEY_PCMCIAENUM   TEXT("PCMCIA")     // child of ENUM
  24. #define REGSTR_KEY_PCIENUM      TEXT("PCI")        // child of ENUM
  25. #define REGSTR_KEY_VPOWERDENUM  TEXT("VPOWERD")    // child of ENUM
  26. #ifndef NEC_98
  27. #define REGSTR_KEY_ISAENUM      TEXT("ISAPnP")     // child of ENUM
  28. #define REGSTR_KEY_EISAENUM     TEXT("EISA")       // child of ENUM
  29. #else // ifdef NEC_98
  30. #define REGSTR_KEY_ISAENUM      TEXT("C98PnP")     // child of ENUM
  31. #define REGSTR_KEY_EISAENUM     TEXT("NESA")       // child of ENUM
  32. #endif // ifdef NEC_98
  33. #define REGSTR_KEY_LOGCONFIG    TEXT("LogConfig")  // child of enum<enumerator><deviceid><instanceid>
  34. #define REGSTR_KEY_SYSTEMBOARD  TEXT("*PNP0C01")   // child of enumroot
  35. #define REGSTR_KEY_APM          TEXT("*PNP0C05")   // child of enumroot
  36. #define REGSTR_KEY_INIUPDATE    TEXT("IniUpdate")
  37. #define REG_KEY_INSTDEV         TEXT("Installed")  // child of hklmclassclassname (Win98-only)
  38. #define REGSTR_KEY_DOSOPTCDROM  TEXT("CD-ROM")
  39. #define REGSTR_KEY_DOSOPTMOUSE  TEXT("MOUSE")
  40. #define REGSTR_KEY_KNOWNDOCKINGSTATES TEXT("Hardware Profiles")
  41. #define REGSTR_KEY_DEVICEPARAMETERS   TEXT("Device Parameters")
  42. /*** Public registry paths
  43.  */
  44. #define REGSTR_DEFAULT_INSTANCE          TEXT("0000")
  45. #define REGSTR_PATH_MOTHERBOARD          REGSTR_KEY_SYSTEMBOARD TEXT("\") REGSTR_DEFAULT_INSTANCE
  46. #define REGSTR_PATH_SETUP                TEXT("Software\Microsoft\Windows\CurrentVersion")
  47. #define REGSTR_PATH_DRIVERSIGN           TEXT("Software\Microsoft\Driver Signing")
  48. #define REGSTR_PATH_NONDRIVERSIGN        TEXT("Software\Microsoft\Non-Driver Signing")
  49. #define REGSTR_PATH_DRIVERSIGN_POLICY    TEXT("Software\Policies\Microsoft\Windows NT\Driver Signing")
  50. #define REGSTR_PATH_NONDRIVERSIGN_POLICY TEXT("Software\Policies\Microsoft\Windows NT\Non-Driver Signing")
  51. #define REGSTR_PATH_PIFCONVERT           TEXT("Software\Microsoft\Windows\CurrentVersion\PIFConvert")
  52. #define REGSTR_PATH_MSDOSOPTS            TEXT("Software\Microsoft\Windows\CurrentVersion\MS-DOSOptions")
  53. #define REGSTR_PATH_NOSUGGMSDOS          TEXT("Software\Microsoft\Windows\CurrentVersion\NoMSDOSWarn")
  54. #define REGSTR_PATH_NEWDOSBOX            TEXT("Software\Microsoft\Windows\CurrentVersion\MS-DOSSpecialConfig")
  55. #define REGSTR_PATH_RUNONCE              TEXT("Software\Microsoft\Windows\CurrentVersion\RunOnce")
  56. #define REGSTR_PATH_RUNONCEEX            TEXT("Software\Microsoft\Windows\CurrentVersion\RunOnceEx")
  57. #define REGSTR_PATH_RUN                  TEXT("Software\Microsoft\Windows\CurrentVersion\Run")
  58. #define REGSTR_PATH_RUNSERVICESONCE      TEXT("Software\Microsoft\Windows\CurrentVersion\RunServicesOnce")
  59. #define REGSTR_PATH_RUNSERVICES          TEXT("Software\Microsoft\Windows\CurrentVersion\RunServices")
  60. #define REGSTR_PATH_EXPLORER             TEXT("Software\Microsoft\Windows\CurrentVersion\Explorer")
  61. #define REGSTR_PATH_DETECT               TEXT("Software\Microsoft\Windows\CurrentVersion\Detect")
  62. #define REGSTR_PATH_APPPATHS             TEXT("Software\Microsoft\Windows\CurrentVersion\App Paths")
  63. #define REGSTR_PATH_UNINSTALL            TEXT("Software\Microsoft\Windows\CurrentVersion\Uninstall")
  64. #define REGSTR_PATH_REALMODENET          TEXT("Software\Microsoft\Windows\CurrentVersion\Network\Real Mode Net")
  65. #define REGSTR_PATH_NETEQUIV             TEXT("Software\Microsoft\Windows\CurrentVersion\Network\Equivalent")
  66. #define REGSTR_PATH_CVNETWORK            TEXT("Software\Microsoft\Windows\CurrentVersion\Network")
  67. #define REGSTR_PATH_RELIABILITY          TEXT("Software\Microsoft\Windows\CurrentVersion\Reliability")
  68. #define REGSTR_PATH_REINSTALL            TEXT("SOFTWARE\Microsoft\Windows\CurrentVersion\Reinstall")
  69. #define REGSTR_PATH_NT_CURRENTVERSION TEXT("Software\Microsoft\Windows NT\CurrentVersion")
  70. #define REGSTR_PATH_VOLUMECACHE TEXT("Software\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches")
  71. #define REGSTR_VAL_DISPLAY      TEXT("display")
  72. #define REGSTR_PATH_IDCONFIGDB  TEXT("System\CurrentControlSet\Control\IDConfigDB")
  73. #define REGSTR_PATH_CRITICALDEVICEDATABASE  TEXT("System\CurrentControlSet\Control\CriticalDeviceDatabase")
  74. #define REGSTR_PATH_CLASS       TEXT("System\CurrentControlSet\Services\Class")
  75. #define REGSTR_PATH_DISPLAYSETTINGS TEXT("Display\Settings")
  76. #define REGSTR_PATH_FONTS           TEXT("Display\Fonts")
  77. #define REGSTR_PATH_ENUM        TEXT("Enum")
  78. #define REGSTR_PATH_ROOT        TEXT("Enum\Root")
  79. #define REGSTR_PATH_CURRENTCONTROLSET TEXT("System\CurrentControlSet")
  80. #define REGSTR_PATH_SYSTEMENUM  TEXT("System\CurrentControlSet\Enum")
  81. #define REGSTR_PATH_HWPROFILES  TEXT("System\CurrentControlSet\Hardware Profiles")
  82. #define REGSTR_PATH_HWPROFILESCURRENT TEXT("System\CurrentControlSet\Hardware Profiles\Current")
  83. #define REGSTR_PATH_CLASS_NT    TEXT("System\CurrentControlSet\Control\Class")
  84. #define REGSTR_PATH_PER_HW_ID_STORAGE TEXT("Software\Microsoft\Windows NT\CurrentVersion\PerHwIdStorage")
  85. #define REGSTR_PATH_DEVICE_CLASSES TEXT("System\CurrentControlSet\Control\DeviceClasses")
  86. #define REGSTR_PATH_CODEVICEINSTALLERS TEXT("System\CurrentControlSet\Control\CoDeviceInstallers")
  87. #define REGSTR_PATH_BUSINFORMATION TEXT("System\CurrentControlSet\Control\PnP\BusInformation")
  88. #define REGSTR_PATH_SERVICES    TEXT("System\CurrentControlSet\Services")
  89. #define REGSTR_PATH_VXD         TEXT("System\CurrentControlSet\Services\VxD")
  90. #define REGSTR_PATH_IOS     TEXT("System\CurrentControlSet\Services\VxD\IOS")
  91. #define REGSTR_PATH_VMM         TEXT("System\CurrentControlSet\Services\VxD\VMM")
  92. #define REGSTR_PATH_VPOWERD     TEXT("System\CurrentControlSet\Services\VxD\VPOWERD")
  93. #define REGSTR_PATH_VNETSUP     TEXT("System\CurrentControlSet\Services\VxD\VNETSUP")
  94. #define REGSTR_PATH_NWREDIR     TEXT("System\CurrentControlSet\Services\VxD\NWREDIR")
  95. #define REGSTR_PATH_NCPSERVER   TEXT("System\CurrentControlSet\Services\NcpServer\Parameters")
  96. #define REGSTR_PATH_VCOMM       TEXT("System\CurrentControlSet\Services\VxD\VCOMM")
  97. #define REGSTR_PATH_IOARB       TEXT("System\CurrentControlSet\Services\Arbitrators\IOArb")
  98. #define REGSTR_PATH_ADDRARB     TEXT("System\CurrentControlSet\Services\Arbitrators\AddrArb")
  99. #define REGSTR_PATH_DMAARB      TEXT("System\CurrentControlSet\Services\Arbitrators\DMAArb")
  100. #define REGSTR_PATH_IRQARB      TEXT("System\CurrentControlSet\Services\Arbitrators\IRQArb")
  101. #define REGSTR_PATH_CODEPAGE                            TEXT("System\CurrentControlSet\Control\Nls\Codepage")
  102. #define REGSTR_PATH_FILESYSTEM                          TEXT("System\CurrentControlSet\Control\FileSystem")
  103. #define REGSTR_PATH_FILESYSTEM_NOVOLTRACK       TEXT("System\CurrentControlSet\Control\FileSystem\NoVolTrack")
  104. #define REGSTR_PATH_CDFS                                        TEXT("System\CurrentControlSet\Control\FileSystem\CDFS")
  105. #define REGSTR_PATH_WINBOOT                                 TEXT("System\CurrentControlSet\Control\WinBoot")
  106. #define REGSTR_PATH_INSTALLEDFILES                      TEXT("System\CurrentControlSet\Control\InstalledFiles")
  107. #define REGSTR_PATH_VMM32FILES                          TEXT("System\CurrentControlSet\Control\VMM32Files")
  108. //
  109. // Reasonable Limit for Values Names
  110. //
  111. #define REGSTR_MAX_VALUE_LENGTH     256
  112. //
  113. // Values used by user mode Pnp Manager
  114. //
  115. #define REGSTR_KEY_DEVICE_PROPERTIES               TEXT("Properties")
  116. #define REGSTR_VAL_SLOTNUMBER                      TEXT("SlotNumber")
  117. #define REGSTR_VAL_ATTACHEDCOMPONENTS              TEXT("AttachedComponents")
  118. #define REGSTR_VAL_BASEDEVICEPATH                  TEXT("BaseDevicePath")
  119. #define REGSTR_VAL_SYSTEMBUSNUMBER                 TEXT("SystemBusNumber")
  120. #define REGSTR_VAL_BUSDATATYPE                     TEXT("BusDataType")
  121. #define REGSTR_VAL_INTERFACETYPE                   TEXT("InterfaceType")
  122. #define REGSTR_VAL_SERVICE                         TEXT("Service")
  123. #define REGSTR_VAL_DETECTSIGNATURE                 TEXT("DetectSignature")
  124. #define REGSTR_VAL_CLASSGUID                       TEXT("ClassGUID")
  125. #define REGSTR_VAL_INSTANCEIDENTIFIER              TEXT("InstanceIdentifier")
  126. #define REGSTR_VAL_DUPLICATEOF                     TEXT("DuplicateOf")
  127. #define REGSTR_VAL_STATUSFLAGS                     TEXT("StatusFlags")
  128. #define REGSTR_VAL_DISABLECOUNT                    TEXT("DisableCount")
  129. #define REGSTR_VAL_UNKNOWNPROBLEMS                 TEXT("UnknownProblem")
  130. #define REGSTR_VAL_DOCKSTATE                       TEXT("DockState")
  131. #define REGSTR_VAL_PREFERENCEORDER                 TEXT("PreferenceOrder")
  132. #define REGSTR_VAL_USERWAITINTERVAL                TEXT("UserWaitInterval")
  133. #define REGSTR_VAL_DEVICE_INSTANCE                 TEXT("DeviceInstance")
  134. #define REGSTR_VAL_SYMBOLIC_LINK                   TEXT("SymbolicLink")
  135. #define REGSTR_VAL_DEFAULT                         TEXT("Default")
  136. #define REGSTR_VAL_LOWERFILTERS                    TEXT("LowerFilters")
  137. #define REGSTR_VAL_UPPERFILTERS                    TEXT("UpperFilters")
  138. #define REGSTR_VAL_LOCATION_INFORMATION            TEXT("LocationInformation")
  139. #define REGSTR_VAL_UI_NUMBER                       TEXT("UINumber")
  140. #define REGSTR_VAL_UI_NUMBER_DESC_FORMAT           TEXT("UINumberDescFormat")
  141. #define REGSTR_VAL_CAPABILITIES                    TEXT("Capabilities")
  142. #define REGSTR_VAL_DEVICE_TYPE                     TEXT("DeviceType")
  143. #define REGSTR_VAL_DEVICE_CHARACTERISTICS          TEXT("DeviceCharacteristics")
  144. #define REGSTR_VAL_DEVICE_SECURITY_DESCRIPTOR      TEXT("Security")
  145. #define REGSTR_VAL_DEVICE_EXCLUSIVE                TEXT("Exclusive")
  146. #define REGSTR_VAL_RESOURCE_PICKER_TAGS            TEXT("ResourcePickerTags")
  147. #define REGSTR_VAL_RESOURCE_PICKER_EXCEPTIONS      TEXT("ResourcePickerExceptions")
  148. #define REGSTR_VAL_CUSTOM_PROPERTY_CACHE_DATE      TEXT("CustomPropertyCacheDate")
  149. #define REGSTR_VAL_CUSTOM_PROPERTY_HW_ID_KEY       TEXT("CustomPropertyHwIdKey")
  150. #define REGSTR_VAL_LAST_UPDATE_TIME                TEXT("LastUpdateTime")
  151. //
  152. // Values used by kernel mode Pnp Manager
  153. //
  154. #define REGSTR_VALUE_DEVICE_OBJECT_NAME            TEXT("DeviceObjectName")
  155. #define REGSTR_VALUE_DEVICE_SYMBOLIC_NAME          TEXT("DeviceSymbolicName")
  156. #define REGSTR_VAL_EJECT_PRIORITY                  TEXT("EjectPriority")
  157. //
  158. // Values used by both kernel-mode and user-mode PnP Managers
  159. //
  160. #define REGSTR_KEY_CONTROL                         TEXT("Control")
  161. #define REGSTR_VAL_ACTIVESERVICE                   TEXT("ActiveService")
  162. #define REGSTR_VAL_LINKED                          TEXT("Linked")
  163. #define REGSTR_VAL_PHYSICALDEVICEOBJECT            TEXT("PhysicalDeviceObject")
  164. #define REGSTR_VAL_REMOVAL_POLICY                  TEXT("RemovalPolicy")
  165. //
  166. // Values under REGSTR_PATH_NT_CURRENTVERSION
  167. //
  168. #define REGSTR_VAL_CURRENT_VERSION  TEXT("CurrentVersion")
  169. #define REGSTR_VAL_CURRENT_BUILD    TEXT("CurrentBuildNumber")
  170. #define REGSTR_VAL_CURRENT_CSDVERSION TEXT("CSDVersion")
  171. #define REGSTR_VAL_CURRENT_TYPE     TEXT("CurrentType")
  172. //
  173. // Values under REGSTR_PATH_DISPLAYSETTINGS
  174. //
  175. #define REGSTR_VAL_BITSPERPIXEL  TEXT("BitsPerPixel")
  176. #define REGSTR_VAL_RESOLUTION    TEXT("Resolution")
  177. #define REGSTR_VAL_DPILOGICALX   TEXT("DPILogicalX")
  178. #define REGSTR_VAL_DPILOGICALY   TEXT("DPILogicalY")
  179. #define REGSTR_VAL_DPIPHYSICALX  TEXT("DPIPhysicalX")
  180. #define REGSTR_VAL_DPIPHYSICALY  TEXT("DPIPhysicalY")
  181. #define REGSTR_VAL_REFRESHRATE   TEXT("RefreshRate")
  182. #define REGSTR_VAL_DISPLAYFLAGS  TEXT("DisplayFlags")
  183. // under HKEY_CURRENT_USER
  184. #define REGSTR_PATH_CONTROLPANEL    TEXT("Control Panel")
  185. // under HKEY_LOCAL_MACHINE
  186. #define REGSTR_PATH_CONTROLSFOLDER  TEXT("Software\Microsoft\Windows\CurrentVersion\Controls Folder")
  187. //
  188. // Entries under REGSTR_PATH_CODEPAGE
  189. //
  190. #define REGSTR_VAL_DOSCP        TEXT("OEMCP")
  191. #define REGSTR_VAL_WINCP        TEXT("ACP")
  192. #define REGSTR_PATH_DYNA_ENUM   TEXT("Config Manager\Enum")
  193. //
  194. // Entries under REGSTR_PATH_DYNA_ENUM
  195. //
  196. #define REGSTR_VAL_HARDWARE_KEY TEXT("HardWareKey")
  197. #define REGSTR_VAL_ALLOCATION   TEXT("Allocation")
  198. #define REGSTR_VAL_PROBLEM      TEXT("Problem")
  199. #define REGSTR_VAL_STATUS       TEXT("Status")
  200. //
  201. //  Used by address arbitrator
  202. //
  203. #define REGSTR_VAL_DONTUSEMEM   TEXT("DontAllocLastMem")
  204. //
  205. //  Entries under REGSTR_PATH_SETUP
  206. //
  207. #define REGSTR_VAL_SYSTEMROOT           TEXT("SystemRoot")
  208. #define REGSTR_VAL_BOOTCOUNT            TEXT("BootCount")
  209. #define REGSTR_VAL_REALNETSTART         TEXT("RealNetStart")
  210. #define REGSTR_VAL_MEDIA                TEXT("MediaPath")
  211. #define REGSTR_VAL_CONFIG               TEXT("ConfigPath")
  212. #define REGSTR_VAL_DEVICEPATH           TEXT("DevicePath")      //default search path for .INFs
  213. #define REGSTR_VAL_SRCPATH              TEXT("SourcePath")      //last source files path during setup.
  214. #define REGSTR_VAL_SVCPAKSRCPATH        TEXT("ServicePackSourcePath") //last service pack source path
  215. #define REGSTR_VAL_DRIVERCACHEPATH      TEXT("DriverCachePath") //location of driver cache
  216. #define REGSTR_VAL_OLDWINDIR            TEXT("OldWinDir")       //old windows location
  217. #define REGSTR_VAL_SETUPFLAGS           TEXT("SetupFlags")      //flags that setup passes on after install.
  218. #define REGSTR_VAL_REGOWNER             TEXT("RegisteredOwner")
  219. #define REGSTR_VAL_REGORGANIZATION      TEXT("RegisteredOrganization")
  220. #define REGSTR_VAL_LICENSINGINFO        TEXT("LicensingInfo")
  221. #define REGSTR_VAL_OLDMSDOSVER          TEXT("OldMSDOSVer") // will be DOS ver < 7 (when Setup run)
  222. #define REGSTR_VAL_FIRSTINSTALLDATETIME TEXT("FirstInstallDateTime") // will Win 95 install date-time
  223. #define REGSTR_VAL_INSTALLTYPE          TEXT("InstallType")
  224. //  Values for InstallType
  225. #define IT_COMPACT          0x0000
  226. #define IT_TYPICAL          0x0001
  227. #define IT_PORTABLE         0x0002
  228. #define IT_CUSTOM           0x0003
  229. #define REGSTR_VAL_WRAPPER              TEXT("Wrapper")
  230. #define REGSTR_VAL_LASTALIVEINTERVAL    TEXT("TimeStampInterval")
  231. #define REGSTR_VAL_LASTALIVESTAMP       TEXT("LastAliveStamp")
  232. #define REGSTR_VAL_SHUTDOWNREASON       TEXT("ShutdownReason")
  233. #define REGSTR_VAL_SHUTDOWNREASON_CODE          TEXT("ShutdownReasonCode")
  234. #define REGSTR_VAL_SHUTDOWNREASON_COMMENT       TEXT("ShutdownReasonComment")
  235. #define REGSTR_VAL_SHUTDOWNREASON_PROCESS       TEXT("ShutdownReasonProcess")
  236. #define REGSTR_VAL_SHUTDOWNREASON_USERNAME      TEXT("ShutdownReasonUserName")
  237. #define REGSTR_VAL_SHOWREASONUI                 TEXT("ShutdownReasonUI")
  238. #define REGSTR_VAL_SHUTDOWN_IGNORE_PREDEFINED   TEXT("ShutdownIgnorePredefinedReasons")
  239. #define REGSTR_VAL_SHUTDOWN_DO_STATE_SNAPSHOT   TEXT("ShutdownDoStateSnapshot")
  240. // Values for ShutDownDoStateSnapshot
  241. #define DO_SNAPSHOT_ON_UNPLANNED 0
  242. #define DO_SNAPSHOT_ALWAYS 1
  243. #define DO_SNAPSHOT_NEVER  2
  244. #define REGSTR_VAL_SHUTDOWN_STATE_SNAPSHOT      TEXT("ShutdownStateSnapshot")
  245. #define REGSTR_KEY_SETUP                TEXT("\Setup")
  246. #define REGSTR_VAL_BOOTDIR              TEXT("BootDir")
  247. #define REGSTR_VAL_WINBOOTDIR           TEXT("WinbootDir")
  248. #define REGSTR_VAL_WINDIR               TEXT("WinDir")
  249. #define REGSTR_VAL_APPINSTPATH          TEXT("AppInstallPath")    // Used by install wizard
  250. // Values for international startup disk
  251. #define REGSTR_PATH_EBD          REGSTR_PATH_SETUP REGSTR_KEY_SETUP TEXT("\EBD")
  252. // Keys under REGSTR_KEY_EBD
  253. #define REGSTR_KEY_EBDFILESLOCAL     TEXT("EBDFilesLocale")
  254. #define REGSTR_KEY_EBDFILESKEYBOARD     TEXT("EBDFilesKeyboard")
  255. #define REGSTR_KEY_EBDAUTOEXECBATLOCAL TEXT("EBDAutoexecBatLocale")
  256. #define REGSTR_KEY_EBDAUTOEXECBATKEYBOARD TEXT("EBDAutoexecBatKeyboard")
  257. #define REGSTR_KEY_EBDCONFIGSYSLOCAL   TEXT("EBDConfigSysLocale")
  258. #define REGSTR_KEY_EBDCONFIGSYSKEYBOARD   TEXT("EBDConfigSysKeyboard")
  259. // Values under REGSTR_PATH_DRIVERSIGN and REGSTR_PATH_NONDRIVERSIGN
  260. #define REGSTR_VAL_POLICY                     TEXT("Policy")
  261. // Values under REGSTR_PATH_DRIVERSIGN_POLICY and REGSTR_PATH_NONDRIVERSIGN_POLICY
  262. #define REGSTR_VAL_BEHAVIOR_ON_FAILED_VERIFY  TEXT("BehaviorOnFailedVerify")
  263. // Types of driver signing policies (apply to both preference and policy values
  264. // defined above)
  265. #define DRIVERSIGN_NONE             0x00000000
  266. #define DRIVERSIGN_WARNING          0x00000001
  267. #define DRIVERSIGN_BLOCKING         0x00000002
  268. //
  269. //  Entries under REGSTR_PATH_PIFCONVERT
  270. //
  271. #define REGSTR_VAL_MSDOSMODE            TEXT("MSDOSMode")
  272. #define REGSTR_VAL_MSDOSMODEDISCARD     TEXT("Discard")
  273. //
  274. //  Entries under REGSTR_PATH_MSDOSOPTS (global settings)
  275. //
  276. #define REGSTR_VAL_DOSOPTGLOBALFLAGS    TEXT("GlobalFlags")
  277. //  Flags for GlobalFlags
  278. #define DOSOPTGF_DEFCLEAN   0x00000001L // Default action is clean config
  279. //
  280. //  Entries under REGSTR_PATH_MSDOSOPTS  OptionSubkey
  281. //
  282. #define REGSTR_VAL_DOSOPTFLAGS          TEXT("Flags")
  283. #define REGSTR_VAL_OPTORDER             TEXT("Order")
  284. #define REGSTR_VAL_CONFIGSYS            TEXT("Config.Sys")
  285. #define REGSTR_VAL_AUTOEXEC             TEXT("Autoexec.Bat")
  286. #define REGSTR_VAL_STDDOSOPTION         TEXT("StdOption")
  287. #define REGSTR_VAL_DOSOPTTIP            TEXT("TipText")
  288. //  Flags for DOSOPTFLAGS
  289. #define DOSOPTF_DEFAULT     0x00000001L // Default enabled for clean config
  290. #define DOSOPTF_SUPPORTED   0x00000002L // Option actually supported
  291. #define DOSOPTF_ALWAYSUSE   0x00000004L // Always use this option
  292. #define DOSOPTF_USESPMODE   0x00000008L // Option puts machine in Prot Mode
  293. #define DOSOPTF_PROVIDESUMB 0x00000010L // Can load drivers high
  294. #define DOSOPTF_NEEDSETUP   0x00000020L // Need to configure option
  295. #define DOSOPTF_INDOSSTART  0x00000040L // Suppored by DOSSTART.BAT
  296. #define DOSOPTF_MULTIPLE    0x00000080L // Load multiple configuration lines
  297. //
  298. //  Flags returned by SUGetSetSetupFlags and in the registry
  299. //
  300. #define SUF_FIRSTTIME   0x00000001L // First boot into Win95.
  301. #define SUF_EXPRESS     0x00000002L // User Setup via express mode (vs customize).
  302. #define SUF_BATCHINF    0x00000004L // Setup using batch file (MSBATCH.INF).
  303. #define SUF_CLEAN       0x00000008L // Setup was done to a clean directory.
  304. #define SUF_INSETUP     0x00000010L // You're in Setup.
  305. #define SUF_NETSETUP    0x00000020L // Doing a net (workstation) setup.
  306. #define SUF_NETHDBOOT   0x00000040L // Workstation boots from local harddrive
  307. #define SUF_NETRPLBOOT  0x00000080L // Workstation boots via RPL (vs floppy)
  308. #define SUF_SBSCOPYOK   0x00000100L // Can copy to LDID_SHARED (SBS)
  309. //
  310. //  Entries under REGSTR_PATH_VMM
  311. //
  312. #define REGSTR_VAL_DOSPAGER     TEXT("DOSPager")
  313. #define REGSTR_VAL_VXDGROUPS    TEXT("VXDGroups")
  314. //
  315. //  Entries under REGSTR_PATH_VPOWERD
  316. //
  317. #define REGSTR_VAL_VPOWERDFLAGS TEXT("Flags")
  318. #define VPDF_DISABLEPWRMGMT         0x00000001  // Don't load device
  319. #define VPDF_FORCEAPM10MODE         0x00000002  // Always go into 1.0 mode
  320. #define VPDF_SKIPINTELSLCHECK       0x00000004  // Don't detect Intel SL chipset
  321. #define VPDF_DISABLEPWRSTATUSPOLL   0x00000008  // Don't poll power status
  322. #define VPDF_DISABLERINGRESUME      0x00000010  // Don't let the modem wake the machine (APM 1.2 only)
  323. #define VPDF_SHOWMULTIBATT          0x00000020  // Show all batteries checkbox in power control panel
  324. //
  325. // Entries under REGSTR_PATH_BUSINFORMATION
  326. //
  327. #define BIF_SHOWSIMILARDRIVERS      0x00000001  // Show similar drivers instead of all class drivers in UI.
  328. #define BIF_RAWDEVICENEEDSDRIVER    0x00000002  // RAW device needs a driver installed.
  329. //
  330. //  Entries under REGSTR_PATH_VNETSUP
  331. //
  332. #define REGSTR_VAL_WORKGROUP TEXT("Workgroup")
  333. #define REGSTR_VAL_DIRECTHOST TEXT("DirectHost")
  334. #define REGSTR_VAL_FILESHARING          TEXT("FileSharing")
  335. #define REGSTR_VAL_PRINTSHARING         TEXT("PrintSharing")
  336. //
  337. //  Entries under REGSTR_PATH_NWREDIR
  338. //
  339. #define REGSTR_VAL_FIRSTNETDRIVE        TEXT("FirstNetworkDrive")
  340. #define REGSTR_VAL_MAXCONNECTIONS       TEXT("MaxConnections")
  341. #define REGSTR_VAL_APISUPPORT           TEXT("APISupport")
  342. #define REGSTR_VAL_MAXRETRY             TEXT("MaxRetry")
  343. #define REGSTR_VAL_MINRETRY             TEXT("MinRetry")
  344. #define REGSTR_VAL_SUPPORTLFN           TEXT("SupportLFN")
  345. #define REGSTR_VAL_SUPPORTBURST         TEXT("SupportBurst")
  346. #define REGSTR_VAL_SUPPORTTUNNELLING    TEXT("SupportTunnelling")
  347. #define REGSTR_VAL_FULLTRACE            TEXT("FullTrace")
  348. #define REGSTR_VAL_READCACHING          TEXT("ReadCaching")
  349. #define REGSTR_VAL_SHOWDOTS             TEXT("ShowDots")
  350. #define REGSTR_VAL_GAPTIME              TEXT("GapTime")
  351. #define REGSTR_VAL_SEARCHMODE           TEXT("SearchMode")
  352. #define REGSTR_VAL_SHELLVERSION     TEXT("ShellVersion")
  353. #define REGSTR_VAL_MAXLIP           TEXT("MaxLIP")
  354. #define REGSTR_VAL_PRESERVECASE     TEXT("PreserveCase")
  355. #define REGSTR_VAL_OPTIMIZESFN      TEXT("OptimizeSFN")
  356. //
  357. //  Entries under REGSTR_PATH_NCPSERVER
  358. //
  359. #define REGSTR_VAL_NCP_BROWSEMASTER     TEXT("BrowseMaster")
  360. #define REGSTR_VAL_NCP_USEPEERBROWSING  TEXT("Use_PeerBrowsing")
  361. #define REGSTR_VAL_NCP_USESAP           TEXT("Use_Sap")
  362. //
  363. // Entries under REGSTR_PATH_VCOMM
  364. //
  365. #define REGSTR_VAL_PCCARD_POWER         TEXT("EnablePowerManagement")
  366. //
  367. //  Entries under REGSTR_PATH_FILESYSTEM
  368. //
  369. #define REGSTR_VAL_WIN31FILESYSTEM              TEXT("Win31FileSystem")
  370. #define REGSTR_VAL_PRESERVELONGNAMES            TEXT("PreserveLongNames")
  371. #define REGSTR_VAL_DRIVEWRITEBEHIND             TEXT("DriveWriteBehind")
  372. #define REGSTR_VAL_ASYNCFILECOMMIT              TEXT("AsyncFileCommit")
  373. #define REGSTR_VAL_PATHCACHECOUNT               TEXT("PathCache")
  374. #define REGSTR_VAL_NAMECACHECOUNT               TEXT("NameCache")
  375. #define REGSTR_VAL_CONTIGFILEALLOC              TEXT("ContigFileAllocSize")
  376. #define REGSTR_VAL_FREESPACERATIO               TEXT("FreeSpaceRatio")
  377. #define REGSTR_VAL_VOLIDLETIMEOUT               TEXT("VolumeIdleTimeout")
  378. #define REGSTR_VAL_BUFFIDLETIMEOUT              TEXT("BufferIdleTimeout")
  379. #define REGSTR_VAL_BUFFAGETIMEOUT               TEXT("BufferAgeTimeout")
  380. #define REGSTR_VAL_NAMENUMERICTAIL              TEXT("NameNumericTail")
  381. #define REGSTR_VAL_READAHEADTHRESHOLD           TEXT("ReadAheadThreshold")
  382. #define REGSTR_VAL_DOUBLEBUFFER                 TEXT("DoubleBuffer")
  383. #define REGSTR_VAL_SOFTCOMPATMODE               TEXT("SoftCompatMode")
  384. #define REGSTR_VAL_DRIVESPINDOWN                TEXT("DriveSpinDown")
  385. #define REGSTR_VAL_FORCEPMIO                    TEXT("ForcePMIO")
  386. #define REGSTR_VAL_FORCERMIO                    TEXT("ForceRMIO")
  387. #define REGSTR_VAL_LASTBOOTPMDRVS               TEXT("LastBootPMDrvs")
  388. #define REGSTR_VAL_ACSPINDOWNPREVIOUS           TEXT("ACSpinDownPrevious")
  389. #define REGSTR_VAL_BATSPINDOWNPREVIOUS          TEXT("BatSpinDownPrevious")
  390. #define REGSTR_VAL_VIRTUALHDIRQ                 TEXT("VirtualHDIRQ")
  391. #define REGSTR_VAL_SRVNAMECACHECOUNT            TEXT("ServerNameCacheMax")
  392. #define REGSTR_VAL_SRVNAMECACHE                 TEXT("ServerNameCache")
  393. #define REGSTR_VAL_SRVNAMECACHENETPROV          TEXT("ServerNameCacheNumNets")
  394. #define REGSTR_VAL_AUTOMOUNT                    TEXT("AutoMountDrives")
  395. #define REGSTR_VAL_COMPRESSIONMETHOD            TEXT("CompressionAlgorithm")
  396. #define REGSTR_VAL_COMPRESSIONTHRESHOLD         TEXT("CompressionThreshold")
  397. #define REGSTR_VAL_ACDRIVESPINDOWN              TEXT("ACDriveSpinDown")
  398. #define REGSTR_VAL_BATDRIVESPINDOWN             TEXT("BatDriveSpinDown")
  399. //
  400. //      Entries under REGSTR_PATH_FILESYSTEM_NOVOLTRACK
  401. //
  402. //      A sub-key under which a variable number of variable length structures are stored.
  403. //
  404. //      Each structure contains an offset followed by a number of pattern bytes.
  405. //      The pattern in each structure is compared at the specified offset within
  406. //      the boot record at the time a volume is mounted.  If any pattern in this
  407. //      set of patterns matches a pattern already in the boot record, VFAT will not
  408. //      write a volume tracking serial number in the OEM_SerialNum field of the
  409. //      boot record on the volume being mounted.
  410. //
  411. //
  412. //  Entries under REGSTR_PATH_CDFS
  413. //
  414. #define REGSTR_VAL_CDCACHESIZE  TEXT("CacheSize")       // Number of 2K cache sectors
  415. #define REGSTR_VAL_CDPREFETCH   TEXT("Prefetch")        // Number of 2K cache sectors for prefetching
  416. #define REGSTR_VAL_CDPREFETCHTAIL TEXT("PrefetchTail")// Number of LRU1 prefetch sectors
  417. #define REGSTR_VAL_CDRAWCACHE   TEXT("RawCache")        // Number of 2352-byte cache sectors
  418. #define REGSTR_VAL_CDEXTERRORS  TEXT("ExtendedErrors")// Return extended error codes
  419. #define REGSTR_VAL_CDSVDSENSE   TEXT("SVDSense")        // 0=PVD, 1=Kanji, 2=Unicode
  420. #define REGSTR_VAL_CDSHOWVERSIONS TEXT("ShowVersions")// Show file version numbers
  421. #define REGSTR_VAL_CDCOMPATNAMES TEXT("MSCDEXCompatNames")// Disable Numeric Tails on long file names
  422. #define REGSTR_VAL_CDNOREADAHEAD TEXT("NoReadAhead")    // Disable Read Ahead if set to 1
  423. //
  424. //      define values for IOS devices
  425. //
  426. #define REGSTR_VAL_SCSI TEXT("SCSI\")
  427. #define REGSTR_VAL_ESDI TEXT("ESDI\")
  428. #define REGSTR_VAL_FLOP TEXT("FLOP\")
  429. //
  430. // define defs for IOS device types and values for IOS devices
  431. //
  432. #define REGSTR_VAL_DISK TEXT("GenDisk")
  433. #define REGSTR_VAL_CDROM        TEXT("GenCD")
  434. #define REGSTR_VAL_TAPE TEXT("TAPE")
  435. #define REGSTR_VAL_SCANNER TEXT("SCANNER")
  436. #define REGSTR_VAL_FLOPPY       TEXT("FLOPPY")
  437. #define REGSTR_VAL_SCSITID TEXT("SCSITargetID")
  438. #define REGSTR_VAL_SCSILUN TEXT("SCSILUN")
  439. #define REGSTR_VAL_REVLEVEL TEXT("RevisionLevel")
  440. #define REGSTR_VAL_PRODUCTID TEXT("ProductId")
  441. #define REGSTR_VAL_PRODUCTTYPE TEXT("ProductType")
  442. #define REGSTR_VAL_DEVTYPE TEXT("DeviceType")
  443. #define REGSTR_VAL_REMOVABLE TEXT("Removable")
  444. #define  REGSTR_VAL_CURDRVLET TEXT("CurrentDriveLetterAssignment")
  445. #define REGSTR_VAL_USRDRVLET TEXT("UserDriveLetterAssignment")
  446. #define REGSTR_VAL_SYNCDATAXFER TEXT("SyncDataXfer")
  447. #define REGSTR_VAL_AUTOINSNOTE  TEXT("AutoInsertNotification")
  448. #define REGSTR_VAL_DISCONNECT TEXT("Disconnect")
  449. #define REGSTR_VAL_INT13 TEXT("Int13")
  450. #define REGSTR_VAL_PMODE_INT13 TEXT("PModeInt13")
  451. #define REGSTR_VAL_USERSETTINGS TEXT("AdapterSettings")
  452. #define REGSTR_VAL_NOIDE TEXT("NoIDE")
  453. // The foll. clase name definitions should be the same as in dirkdrv.inx and
  454. // cdrom.inx
  455. #define REGSTR_VAL_DISKCLASSNAME        TEXT("DiskDrive")
  456. #define REGSTR_VAL_CDROMCLASSNAME       TEXT("CDROM")
  457. // The foll. value determines whether a port driver should be force loaded
  458. // or not.
  459. #define REGSTR_VAL_FORCELOAD    TEXT("ForceLoadPD")
  460. // The foll. value determines whether or not the FIFO is used on the Floppy
  461. // controller.
  462. #define REGSTR_VAL_FORCEFIFO    TEXT("ForceFIFO")
  463. #define REGSTR_VAL_FORCECL              TEXT("ForceChangeLine")
  464. //
  465. // Generic CLASS Entries
  466. //
  467. #define REGSTR_VAL_NOUSECLASS       TEXT("NoUseClass")            // Don't include this class in PnP functions
  468. #define REGSTR_VAL_NOINSTALLCLASS   TEXT("NoInstallClass")        // Don't include this class in New Device Wizard
  469. #define REGSTR_VAL_NODISPLAYCLASS   TEXT("NoDisplayClass")        // Don't include this class in Device Manager
  470. #define REGSTR_VAL_SILENTINSTALL    TEXT("SilentInstall")         // Always Silent Install devices of this class.
  471. //
  472. //  Class Names
  473. //
  474. #define REGSTR_KEY_PCMCIA_CLASS     TEXT("PCMCIA")              //child of PATH_CLASS
  475. #define REGSTR_KEY_SCSI_CLASS       TEXT("SCSIAdapter")
  476. #define REGSTR_KEY_PORTS_CLASS      TEXT("ports")
  477. #define REGSTR_KEY_MEDIA_CLASS      TEXT("MEDIA")
  478. #define REGSTR_KEY_DISPLAY_CLASS    TEXT("Display")
  479. #define REGSTR_KEY_KEYBOARD_CLASS   TEXT("Keyboard")
  480. #define REGSTR_KEY_MOUSE_CLASS      TEXT("Mouse")
  481. #define REGSTR_KEY_MONITOR_CLASS    TEXT("Monitor")
  482. #define REGSTR_KEY_MODEM_CLASS      TEXT("Modem")
  483. //
  484. //  Values under PATH_CLASSPCMCIA
  485. //
  486. #define REGSTR_VAL_PCMCIA_OPT   TEXT("Options")
  487. #define PCMCIA_OPT_HAVE_SOCKET  0x00000001l
  488. //#define PCMCIA_OPT_ENABLED    0x00000002l
  489. #define PCMCIA_OPT_AUTOMEM      0x00000004l
  490. #define PCMCIA_OPT_NO_SOUND     0x00000008l
  491. #define PCMCIA_OPT_NO_AUDIO     0x00000010l
  492. #define PCMCIA_OPT_NO_APMREMOVE 0x00000020l
  493. #define REGSTR_VAL_PCMCIA_MEM   TEXT("Memory")  // Card services shared mem range
  494. #define PCMCIA_DEF_MEMBEGIN     0x000C0000      // default 0xC0000 - 0x00FFFFFF
  495. #define PCMCIA_DEF_MEMEND       0x00FFFFFF      // (0 - 16meg)
  496. #define PCMCIA_DEF_MEMLEN       0x00001000      // default 4k window
  497. #define REGSTR_VAL_PCMCIA_ALLOC TEXT("AllocMemWin")     // PCCard alloced memory Window
  498. #define REGSTR_VAL_PCMCIA_ATAD  TEXT("ATADelay")        // ATA device config start delay
  499. #define REGSTR_VAL_PCMCIA_SIZ   TEXT("MinRegionSize") // Minimum region size
  500. #define PCMCIA_DEF_MIN_REGION   0x00010000      // 64K minimum region size
  501. // Values in LPTENUM keys
  502. #define REGSTR_VAL_P1284MDL     TEXT("Model")
  503. #define REGSTR_VAL_P1284MFG     TEXT("Manufacturer")
  504. //
  505. //  Values under PATH_CLASSISAPNP
  506. //
  507. #define REGSTR_VAL_ISAPNP               TEXT("ISAPNP")  // ISAPNP VxD name
  508. #define REGSTR_VAL_ISAPNP_RDP_OVERRIDE  TEXT("RDPOverRide")     // ReadDataPort OverRide
  509. //
  510. //  Values under PATH_CLASSPCI
  511. //
  512. #define REGSTR_VAL_PCI                  TEXT("PCI")             // PCI VxD name
  513. #define REGSTR_PCI_OPTIONS              TEXT("Options") // Possible PCI options
  514. #define REGSTR_PCI_DUAL_IDE             TEXT("PCIDualIDE")      // Dual IDE flag
  515. #define PCI_OPTIONS_USE_BIOS            0x00000001l
  516. #define PCI_OPTIONS_USE_IRQ_STEERING    0x00000002l
  517. //
  518. //  Values under PATH_CLASSAGPxxxx
  519. //
  520. //  note:  These flags affect standard AGP capabilities,
  521. //         and are set in agplib
  522. //
  523. #define AGP_FLAG_NO_1X_RATE             0x00000001l
  524. #define AGP_FLAG_NO_2X_RATE             0x00000002l
  525. #define AGP_FLAG_NO_4X_RATE             0x00000004l
  526. #define AGP_FLAG_NO_8X_RATE             0x00000008l
  527. #define AGP_FLAG_REVERSE_INITIALIZATION 0x00000080l
  528. #define AGP_FLAG_NO_SBA_ENABLE          0x00000100l
  529. //
  530. // AGP flags > AGP_SPECIAL_TARGET are platform specific
  531. //
  532. #define AGP_FLAG_SPECIAL_TARGET         0x000FFFFFl
  533. #define AGP_FLAG_SPECIAL_RESERVE        0x000F0000l
  534. //
  535. // Detection related values
  536. //
  537. #define REGSTR_KEY_CRASHES      TEXT("Crashes") // key of REGSTR_PATH_DETECT
  538. #define REGSTR_KEY_DANGERS      TEXT("Dangers") // key of REGSTR_PATH_DETECT
  539. #define REGSTR_KEY_DETMODVARS   TEXT("DetModVars")      // key of REGSTR_PATH_DETECT
  540. #define REGSTR_KEY_NDISINFO     TEXT("NDISInfo")        // key of netcard hw entry
  541. #define REGSTR_VAL_PROTINIPATH  TEXT("ProtIniPath")     // protocol.ini path
  542. #define REGSTR_VAL_RESOURCES    TEXT("Resources")       // resources of crash func.
  543. #define REGSTR_VAL_CRASHFUNCS   TEXT("CrashFuncs")      // detfunc caused the crash
  544. #define REGSTR_VAL_CLASS        TEXT("Class")   // device class
  545. #define REGSTR_VAL_DEVDESC      TEXT("DeviceDesc")      // device description
  546. #define REGSTR_VAL_BOOTCONFIG   TEXT("BootConfig")      // detected configuration
  547. #define REGSTR_VAL_DETFUNC      TEXT("DetFunc") // specifies detect mod/func.
  548. #define REGSTR_VAL_DETFLAGS     TEXT("DetFlags")        // detection flags
  549. #define REGSTR_VAL_COMPATIBLEIDS TEXT("CompatibleIDs") //value of enumdevinst
  550. #define REGSTR_VAL_DETCONFIG    TEXT("DetConfig")       // detected configuration
  551. #define REGSTR_VAL_VERIFYKEY    TEXT("VerifyKey")       // key used in verify mode
  552. #define REGSTR_VAL_COMINFO      TEXT("ComInfo") // com info. for serial mouse
  553. #define REGSTR_VAL_INFNAME      TEXT("InfName") // INF filename
  554. #define REGSTR_VAL_CARDSPECIFIC TEXT("CardSpecific")    // Netcard specific info (WORD)
  555. #define REGSTR_VAL_NETOSTYPE    TEXT("NetOSType")       // NetOS type associate w/ card
  556. #define REGSTR_DATA_NETOS_NDIS  TEXT("NDIS")            // Data of REGSTR_VAL_NETOSTYPE
  557. #define REGSTR_DATA_NETOS_ODI   TEXT("ODI")             // Data of REGSTR_VAL_NETOSTYPE
  558. #define REGSTR_DATA_NETOS_IPX   TEXT("IPX")             // Data of REGSTR_VAL_NETOSTYPE
  559. #define REGSTR_VAL_MFG      TEXT("Mfg")
  560. #define REGSTR_VAL_SCAN_ONLY_FIRST      TEXT("ScanOnlyFirstDrive")      // used with IDE driver
  561. #define REGSTR_VAL_SHARE_IRQ    TEXT("ForceIRQSharing") // used with IDE driver
  562. #define REGSTR_VAL_NONSTANDARD_ATAPI    TEXT("NonStandardATAPI")        // used with IDE driver
  563. #define REGSTR_VAL_IDE_FORCE_SERIALIZE  TEXT("ForceSerialization")      // used with IDE driver
  564. #define REGSTR_VAL_MAX_HCID_LEN 1024            // Maximum hardware/compat ID len
  565. #define REGSTR_VAL_HWREV            TEXT("HWRevision")
  566. #define REGSTR_VAL_ENABLEINTS  TEXT("EnableInts")
  567. //
  568. // Bit values of REGSTR_VAL_DETFLAGS
  569. //
  570. #define REGDF_NOTDETIO          0x00000001      //cannot detect I/O resource
  571. #define REGDF_NOTDETMEM         0x00000002      //cannot detect mem resource
  572. #define REGDF_NOTDETIRQ         0x00000004      //cannot detect IRQ resource
  573. #define REGDF_NOTDETDMA         0x00000008      //cannot detect DMA resource
  574. #define REGDF_NOTDETALL         (REGDF_NOTDETIO | REGDF_NOTDETMEM | REGDF_NOTDETIRQ | REGDF_NOTDETDMA)
  575. #define REGDF_NEEDFULLCONFIG    0x00000010      //stop devnode if lack resource
  576. #define REGDF_GENFORCEDCONFIG   0x00000020      //also generate forceconfig
  577. #define REGDF_NODETCONFIG       0x00008000      //don't write detconfig to reg.
  578. #define REGDF_CONFLICTIO        0x00010000      //I/O res. in conflict
  579. #define REGDF_CONFLICTMEM       0x00020000      //mem res. in conflict
  580. #define REGDF_CONFLICTIRQ       0x00040000      //IRQ res. in conflict
  581. #define REGDF_CONFLICTDMA       0x00080000      //DMA res. in conflict
  582. #define REGDF_CONFLICTALL       (REGDF_CONFLICTIO | REGDF_CONFLICTMEM | REGDF_CONFLICTIRQ | REGDF_CONFLICTDMA)
  583. #define REGDF_MAPIRQ2TO9        0x00100000      //IRQ2 has been mapped to 9
  584. #define REGDF_NOTVERIFIED       0x80000000      //previous device unverified
  585. //
  586. //  Values in REGSTR_KEY_SYSTEMBOARD
  587. //
  588. #define REGSTR_VAL_APMBIOSVER           TEXT("APMBiosVer")
  589. #define REGSTR_VAL_APMFLAGS             TEXT("APMFlags")
  590. #define REGSTR_VAL_SLSUPPORT            TEXT("SLSupport")
  591. #define REGSTR_VAL_MACHINETYPE          TEXT("MachineType")
  592. #define REGSTR_VAL_SETUPMACHINETYPE TEXT("SetupMachineType")
  593. #define REGSTR_MACHTYPE_UNKNOWN         TEXT("Unknown")
  594. #define REGSTR_MACHTYPE_IBMPC           TEXT("IBM PC")
  595. #define REGSTR_MACHTYPE_IBMPCJR         TEXT("IBM PCjr")
  596. #define REGSTR_MACHTYPE_IBMPCCONV       TEXT("IBM PC Convertible")
  597. #define REGSTR_MACHTYPE_IBMPCXT         TEXT("IBM PC/XT")
  598. #define REGSTR_MACHTYPE_IBMPCXT_286     TEXT("IBM PC/XT 286")
  599. #define REGSTR_MACHTYPE_IBMPCAT         TEXT("IBM PC/AT")
  600. #define REGSTR_MACHTYPE_IBMPS2_25       TEXT("IBM PS/2-25")
  601. #define REGSTR_MACHTYPE_IBMPS2_30_286   TEXT("IBM PS/2-30 286")
  602. #define REGSTR_MACHTYPE_IBMPS2_30       TEXT("IBM PS/2-30")
  603. #define REGSTR_MACHTYPE_IBMPS2_50       TEXT("IBM PS/2-50")
  604. #define REGSTR_MACHTYPE_IBMPS2_50Z      TEXT("IBM PS/2-50Z")
  605. #define REGSTR_MACHTYPE_IBMPS2_55SX     TEXT("IBM PS/2-55SX")
  606. #define REGSTR_MACHTYPE_IBMPS2_60       TEXT("IBM PS/2-60")
  607. #define REGSTR_MACHTYPE_IBMPS2_65SX     TEXT("IBM PS/2-65SX")
  608. #define REGSTR_MACHTYPE_IBMPS2_70       TEXT("IBM PS/2-70")
  609. #define REGSTR_MACHTYPE_IBMPS2_P70      TEXT("IBM PS/2-P70")
  610. #define REGSTR_MACHTYPE_IBMPS2_70_80    TEXT("IBM PS/2-70/80")
  611. #define REGSTR_MACHTYPE_IBMPS2_80       TEXT("IBM PS/2-80")
  612. #define REGSTR_MACHTYPE_IBMPS2_90       TEXT("IBM PS/2-90")
  613. #define REGSTR_MACHTYPE_IBMPS1          TEXT("IBM PS/1")
  614. #define REGSTR_MACHTYPE_PHOENIX_PCAT    TEXT("Phoenix PC/AT Compatible")
  615. #define REGSTR_MACHTYPE_HP_VECTRA       TEXT("HP Vectra")
  616. #define REGSTR_MACHTYPE_ATT_PC          TEXT("AT&T PC")
  617. #define REGSTR_MACHTYPE_ZENITH_PC       TEXT("Zenith PC")
  618. #define REGSTR_VAL_APMMENUSUSPEND       TEXT("APMMenuSuspend")
  619. #define APMMENUSUSPEND_DISABLED         0                   // always disabled
  620. #define APMMENUSUSPEND_ENABLED          1                   // always enabled
  621. #define APMMENUSUSPEND_UNDOCKED         2                   // enabled undocked
  622. #define APMMENUSUSPEND_NOCHANGE     0x80        // bitflag - cannot change setting via UI
  623. #define REGSTR_VAL_APMACTIMEOUT         TEXT("APMACTimeout")
  624. #define REGSTR_VAL_APMBATTIMEOUT        TEXT("APMBatTimeout")
  625. #define APMTIMEOUT_DISABLED             0
  626. #define REGSTR_VAL_APMSHUTDOWNPOWER TEXT("APMShutDownPower")
  627. #define REGSTR_VAL_BUSTYPE          TEXT("BusType")
  628. #define REGSTR_VAL_CPU              TEXT("CPU")
  629. #define REGSTR_VAL_NDP              TEXT("NDP")
  630. #define REGSTR_VAL_PNPBIOSVER       TEXT("PnPBIOSVer")
  631. #define REGSTR_VAL_PNPSTRUCOFFSET   TEXT("PnPStrucOffset")
  632. #define REGSTR_VAL_PCIBIOSVER       TEXT("PCIBIOSVer")
  633. #define REGSTR_VAL_HWMECHANISM      TEXT("HWMechanism")
  634. #define REGSTR_VAL_LASTPCIBUSNUM    TEXT("LastPCIBusNum")
  635. #define REGSTR_VAL_CONVMEM          TEXT("ConvMem")
  636. #define REGSTR_VAL_EXTMEM           TEXT("ExtMem")
  637. #define REGSTR_VAL_COMPUTERNAME     TEXT("ComputerName")
  638. #define REGSTR_VAL_BIOSNAME         TEXT("BIOSName")
  639. #define REGSTR_VAL_BIOSVERSION      TEXT("BIOSVersion")
  640. #define REGSTR_VAL_BIOSDATE         TEXT("BIOSDate")
  641. #define REGSTR_VAL_MODEL            TEXT("Model")
  642. #define REGSTR_VAL_SUBMODEL         TEXT("Submodel")
  643. #define REGSTR_VAL_REVISION         TEXT("Revision")
  644. //
  645. //  Values used in the LPT(ECP) device entry
  646. //
  647. #define REGSTR_VAL_FIFODEPTH            TEXT("FIFODepth")
  648. #define REGSTR_VAL_RDINTTHRESHOLD       TEXT("RDIntThreshold")
  649. #define REGSTR_VAL_WRINTTHRESHOLD       TEXT("WRIntThreshold")
  650. //used in enumxxx<devname><instname>
  651. #define REGSTR_VAL_PRIORITY     TEXT("Priority")
  652. #define REGSTR_VAL_DRIVER       TEXT("Driver")          //
  653. #define REGSTR_VAL_FUNCDESC     TEXT("FunctionDesc")            //
  654. #define REGSTR_VAL_FORCEDCONFIG TEXT("ForcedConfig")            //
  655. #define REGSTR_VAL_CONFIGFLAGS  TEXT("ConfigFlags")             // (binary ULONG)
  656. #define REGSTR_VAL_CSCONFIGFLAGS TEXT("CSConfigFlags")  // (binary ULONG)
  657. #define CONFIGFLAG_DISABLED             0x00000001      // Set if disabled
  658. #define CONFIGFLAG_REMOVED              0x00000002      // Set if a present hardware enum device deleted
  659. #define CONFIGFLAG_MANUAL_INSTALL       0x00000004      // Set if the devnode was manually installed
  660. #define CONFIGFLAG_IGNORE_BOOT_LC       0x00000008      // Set if skip the boot config
  661. #define CONFIGFLAG_NET_BOOT             0x00000010      // Load this devnode when in net boot
  662. #define CONFIGFLAG_REINSTALL            0x00000020      // Redo install
  663. #define CONFIGFLAG_FAILEDINSTALL        0x00000040      // Failed the install
  664. #define CONFIGFLAG_CANTSTOPACHILD       0x00000080      // Can't stop/remove a single child
  665. #define CONFIGFLAG_OKREMOVEROM          0x00000100      // Can remove even if rom.
  666. #define CONFIGFLAG_NOREMOVEEXIT         0x00000200      // Don't remove at exit.
  667. #define CONFIGFLAG_FINISH_INSTALL       0x00000400      // Complete install for devnode running 'raw'
  668. #define CONFIGFLAG_NEEDS_FORCED_CONFIG  0x00000800      // This devnode requires a forced config
  669. #if defined(REMOTE_BOOT)
  670. #define CONFIGFLAG_NETBOOT_CARD         0x00001000      // This is the remote boot network card
  671. #endif // defined(REMOTE_BOOT)
  672. #define CONFIGFLAG_PARTIAL_LOG_CONF     0x00002000      // This device has a partial logconfig
  673. #define CONFIGFLAG_SUPPRESS_SURPRISE    0x00004000      // Set if unsafe removals should be ignored
  674. #define CONFIGFLAG_VERIFY_HARDWARE      0x00008000      // Set if hardware should be tested for logo failures
  675. #define CSCONFIGFLAG_BITS               0x00000007      // OR of below bits
  676. #define CSCONFIGFLAG_DISABLED           0x00000001      // Set if
  677. #define CSCONFIGFLAG_DO_NOT_CREATE      0x00000002      // Set if
  678. #define CSCONFIGFLAG_DO_NOT_START       0x00000004      // Set if
  679. #define DMSTATEFLAG_APPLYTOALL      0x00000001  // Set if Apply To All check box is checked
  680. //
  681. // Special devnodes name
  682. //
  683. #define REGSTR_VAL_ROOT_DEVNODE         TEXT("HTREE\ROOT\0")
  684. #define REGSTR_VAL_RESERVED_DEVNODE     TEXT("HTREE\RESERVED\0")
  685. #define REGSTR_PATH_READDATAPORT        REGSTR_KEY_ISAENUM TEXT("\ReadDataPort\0")
  686. //
  687. // Multifunction definitions
  688. //
  689. #define REGSTR_PATH_MULTI_FUNCTION              TEXT("MF")
  690. #define REGSTR_VAL_RESOURCE_MAP                 TEXT("ResourceMap")
  691. #define REGSTR_PATH_CHILD_PREFIX                TEXT("Child")
  692. #define NUM_RESOURCE_MAP                        256
  693. #define REGSTR_VAL_MF_FLAGS                     TEXT("MFFlags")
  694. #define MF_FLAGS_EVEN_IF_NO_RESOURCE            0x00000001
  695. #define MF_FLAGS_NO_CREATE_IF_NO_RESOURCE       0x00000002
  696. #define MF_FLAGS_FILL_IN_UNKNOWN_RESOURCE       0x00000004
  697. #define MF_FLAGS_CREATE_BUT_NO_SHOW_DISABLED    0x00000008
  698. //
  699. // EISA multi functions add-on
  700. //
  701. #ifndef NEC_98
  702. #define REGSTR_VAL_EISA_RANGES          TEXT("EISARanges")
  703. #define REGSTR_VAL_EISA_FUNCTIONS       TEXT("EISAFunctions")
  704. #define REGSTR_VAL_EISA_FUNCTIONS_MASK  TEXT("EISAFunctionsMask")
  705. #define REGSTR_VAL_EISA_FLAGS           TEXT("EISAFlags")
  706. #define REGSTR_VAL_EISA_SIMULATE_INT15  TEXT("EISASimulateInt15")
  707. #else // ifdef NEC_98
  708. #define REGSTR_VAL_EISA_RANGES          TEXT("NESARanges")
  709. #define REGSTR_VAL_EISA_FUNCTIONS       TEXT("NESAFunctions")
  710. #define REGSTR_VAL_EISA_FUNCTIONS_MASK  TEXT("NESAFunctionsMask")
  711. #define REGSTR_VAL_EISA_FLAGS           TEXT("NESAFlags")
  712. #define REGSTR_VAL_EISA_SIMULATE_INT15  TEXT("NESASimulateInt15")
  713. #endif // ifdef NEC_98
  714. #define EISAFLAG_NO_IO_MERGE            0x00000001
  715. #define EISAFLAG_SLOT_IO_FIRST          0x00000002
  716. #define EISA_NO_MAX_FUNCTION            0xFF
  717. #define NUM_EISA_RANGES                 4
  718. //
  719. //  Driver entries
  720. //
  721. #define REGSTR_VAL_DRVDESC      TEXT("DriverDesc")      // value of enumdevinstDRV
  722. #define REGSTR_VAL_DEVLOADER    TEXT("DevLoader")       // value of DRV
  723. #define REGSTR_VAL_STATICVXD    TEXT("StaticVxD")       // value of DRV
  724. #define REGSTR_VAL_PROPERTIES   TEXT("Properties")      // value of DRV
  725. #define REGSTR_VAL_MANUFACTURER TEXT("Manufacturer")
  726. #define REGSTR_VAL_EXISTS       TEXT("Exists")  // value of HCCHWENUMROOTdevinst
  727. #define REGSTR_VAL_CMENUMFLAGS  TEXT("CMEnumFlags")     // (binary ULONG)
  728. #define REGSTR_VAL_CMDRIVFLAGS  TEXT("CMDrivFlags")     // (binary ULONG)
  729. #define REGSTR_VAL_ENUMERATOR   TEXT("Enumerator")      // value of DRV
  730. #define REGSTR_VAL_DEVICEDRIVER TEXT("DeviceDriver")    // value of DRV
  731. #define REGSTR_VAL_PORTNAME     TEXT("PortName")        // VCOMM uses this for it's port names
  732. #define REGSTR_VAL_INFPATH      TEXT("InfPath")
  733. #define REGSTR_VAL_INFSECTION   TEXT("InfSection")
  734. #define REGSTR_VAL_INFSECTIONEXT TEXT("InfSectionExt")
  735. #define REGSTR_VAL_POLLING      TEXT("Polling")             // SCSI specific
  736. #define REGSTR_VAL_DONTLOADIFCONFLICT TEXT("DontLoadIfConflict")  // SCSI specific
  737. #define REGSTR_VAL_PORTSUBCLASS TEXT("PortSubClass")
  738. #define REGSTR_VAL_NETCLEAN TEXT("NetClean") // Driver required for NetClean boot
  739. #define REGSTR_VAL_IDE_NO_SERIALIZE TEXT("IDENoSerialize") // IDE specific
  740. #define REGSTR_VAL_NOCMOSORFDPT TEXT("NoCMOSorFDPT")       // IDE specific
  741. #define REGSTR_VAL_COMVERIFYBASE TEXT("COMVerifyBase")     // VCD specific
  742. #define REGSTR_VAL_MATCHINGDEVID TEXT("MatchingDeviceId")
  743. #define REGSTR_VAL_DRIVERDATE   TEXT("DriverDate")      // value of DRV
  744. #define REGSTR_VAL_DRIVERDATEDATA TEXT("DriverDateData")// value of DRV
  745. #define REGSTR_VAL_DRIVERVERSION TEXT("DriverVersion")  // value of DRV
  746. #define REGSTR_VAL_LOCATION_INFORMATION_OVERRIDE    TEXT("LocationInformationOverride")  // value of DRV
  747. //
  748. //  Driver keys
  749. //
  750. #define REGSTR_KEY_OVERRIDE     TEXT("Override")        // key under the software section
  751. //used by CONFIGMG
  752. #define REGSTR_VAL_CONFIGMG     TEXT("CONFIGMG")        // Config Manager VxD name
  753. #define REGSTR_VAL_SYSDM        TEXT("SysDM")           // The device installer DLL
  754. #define REGSTR_VAL_SYSDMFUNC    TEXT("SysDMFunc")       // The device installer DLL function
  755. #define REGSTR_VAL_PRIVATE      TEXT("Private") // The private library
  756. #define REGSTR_VAL_PRIVATEFUNC  TEXT("PrivateFunc")     // The private library function
  757. #define REGSTR_VAL_DETECT       TEXT("Detect")  // The detection library
  758. #define REGSTR_VAL_DETECTFUNC   TEXT("DetectFunc")      // The detection library function
  759. #define REGSTR_VAL_ASKFORCONFIG TEXT("AskForConfig")    // The AskForConfig library
  760. #define REGSTR_VAL_ASKFORCONFIGFUNC TEXT("AskForConfigFunc") // The AskForConfig library function
  761. #define REGSTR_VAL_WAITFORUNDOCK TEXT("WaitForUndock")  // The WaitForUndock library
  762. #define REGSTR_VAL_WAITFORUNDOCKFUNC TEXT("WaitForUndockFunc") // The WaitForUndock library function
  763. #define REGSTR_VAL_REMOVEROMOKAY TEXT("RemoveRomOkay")  // The RemoveRomOkay library
  764. #define REGSTR_VAL_REMOVEROMOKAYFUNC TEXT("RemoveRomOkayFunc") // The RemoveRomOkay library function
  765. //used in IDCONFIGDB
  766. #define REGSTR_VAL_CURCONFIG    TEXT("CurrentConfig")           //value of idconfigdb
  767. #define REGSTR_VAL_FRIENDLYNAME TEXT("FriendlyName")            //value of idconfigdb
  768. #define REGSTR_VAL_CURRENTCONFIG TEXT("CurrentConfig")  //value of idconfigdb
  769. #define REGSTR_VAL_MAP          TEXT("Map")                     //value of idconfigdb
  770. #define REGSTR_VAL_ID           TEXT("CurrentID")               //value of idconfigdb
  771. #define REGSTR_VAL_DOCKED       TEXT("CurrentDockedState")      //value of idconfigdb
  772. #define REGSTR_VAL_CHECKSUM     TEXT("CurrentChecksum") //value of idconfigdb
  773. #define REGSTR_VAL_HWDETECT     TEXT("HardwareDetect")  //value of idconfigdb
  774. #define REGSTR_VAL_INHIBITRESULTS TEXT("InhibitResults")        //value of idconfigdb
  775. //used in HKEY_CURRENT_CONFIG
  776. #define REGSTR_VAL_PROFILEFLAGS TEXT("ProfileFlags")    // value of HKEY_CURRENT_CONFIG
  777. //used in PCMCIA
  778. #define REGSTR_KEY_PCMCIA       TEXT("PCMCIA\")        //PCMCIA dev ID prefix
  779. #define REGSTR_KEY_PCUNKNOWN    TEXT("UNKNOWN_MANUFACTURER")    //PCMCIA dev ID manuf
  780. #define REGSTR_VAL_PCSSDRIVER   TEXT("Driver")  //value of DRV
  781. #define REGSTR_KEY_PCMTD        TEXT("MTD-")            //MTD dev ID component
  782. #define REGSTR_VAL_PCMTDRIVER   TEXT("MTD")             //value of Mem Tech DRV
  783. //used in hardwareenumdevinst by Device Installer
  784. #define REGSTR_VAL_HARDWAREID    TEXT("HardwareID")      //value of enumdevinst
  785. //value names under class brach REGSTR_KEY_CLASS + class name
  786. // and for the drivers REGSTR_KEY_CLASSclassnamexxxx
  787. #define REGSTR_VAL_INSTALLER          TEXT("Installer")         // 16-bit class installer module/entry point
  788. #define REGSTR_VAL_INSTALLER_32       TEXT("Installer32")       // 32-bit class installer module/entry point
  789. #define REGSTR_VAL_INSICON            TEXT("Icon")              // value of classname
  790. #define REGSTR_VAL_LEGACYINFOPT       TEXT("LegacyInfOption")   // used for translating to old-style INF option names
  791. #define REGSTR_VAL_ENUMPROPPAGES      TEXT("EnumPropPages")     // For Class/Device Properties (16-bit)
  792. #define REGSTR_VAL_ENUMPROPPAGES_32   TEXT("EnumPropPages32")   // For Class/Device Properties (32-bit)
  793. #define REGSTR_VAL_BASICPROPERTIES    TEXT("BasicProperties")   // For CPL basic Properties (16-bit)
  794. #define REGSTR_VAL_BASICPROPERTIES_32 TEXT("BasicProperties32") // For CPL basic Properties (32-bit)
  795. #define REGSTR_VAL_COINSTALLERS_32    TEXT("CoInstallers32")    // Device-specific co-installer multi-sz list (32-bit)
  796. #define REGSTR_VAL_PRIVATEPROBLEM     TEXT("PrivateProblem")    // For Handling Private Problems
  797. // names used for display driver set information
  798. #define REGSTR_KEY_CURRENT      TEXT("Current") // current mode information
  799. #define REGSTR_KEY_DEFAULT      TEXT("Default") // default configuration
  800. #define REGSTR_KEY_MODES        TEXT("Modes")   // modes subtree
  801. #define REGSTR_VAL_MODE         TEXT("Mode")            // default mode
  802. #define REGSTR_VAL_BPP          TEXT("BPP")             // bits per pixel
  803. #define REGSTR_VAL_HRES         TEXT("HRes")            // horizontal resolution
  804. #define REGSTR_VAL_VRES         TEXT("VRes")            // vertical resolution
  805. #define REGSTR_VAL_FONTSIZE     TEXT("FontSize")        // used in default or override
  806. #define REGSTR_VAL_DRV          TEXT("drv")             // the driver file
  807. #define REGSTR_VAL_GRB          TEXT("grb")             // the grabber file
  808. #define REGSTR_VAL_VDD          TEXT("vdd")             // vdds used here
  809. #define REGSTR_VAL_VER          TEXT("Ver")
  810. #define REGSTR_VAL_MAXRES       TEXT("MaxResolution") // max res for monitors
  811. #define REGSTR_VAL_DPMS         TEXT("DPMS")            // DPMS enabled
  812. #define REGSTR_VAL_RESUMERESET  TEXT("ResumeReset")   // need reset on resume
  813. #define REGSTR_VAL_DESCRIPTION TEXT("Description")
  814. // keys in fontsize tree
  815. #define REGSTR_KEY_SYSTEM       TEXT("System")  // entries for system.ini
  816. #define REGSTR_KEY_USER         TEXT("User")            // entries for win.ini
  817. #define REGSTR_VAL_DPI          TEXT("dpi")             // dpi of fontsize
  818. //
  819. // Used by PCIC socket services
  820. //
  821. #define REGSTR_VAL_PCICOPTIONS  TEXT("PCICOptions")     // Binary DWORD.  IRQ mask in
  822.                                                 // low word.  # skts in high
  823. #ifndef NEC_98
  824. #define PCIC_DEFAULT_IRQMASK    0x4EB8          // Default IRQ masks
  825. #else // ifdef NEC_98
  826. #define PCIC_DEFAULT_IRQMASK    0x1468          // Default IRQ masks
  827. #endif // ifdef NEC_98
  828. #define PCIC_DEFAULT_NUMSOCKETS 0               // 0 = Automatic detection
  829. #define REGSTR_VAL_PCICIRQMAP   TEXT("PCICIRQMap")      // Binary 16 byte IRQ map table
  830. // names used for control panel entries
  831. #define REGSTR_PATH_APPEARANCE  TEXT("Control Panel\Appearance")
  832. #define REGSTR_PATH_LOOKSCHEMES TEXT("Control Panel\Appearance\Schemes")
  833. #define REGSTR_VAL_CUSTOMCOLORS TEXT("CustomColors")
  834. #define REGSTR_PATH_SCREENSAVE          TEXT("Control Panel\Desktop")
  835. #define REGSTR_VALUE_USESCRPASSWORD TEXT("ScreenSaveUsePassword")
  836. #define REGSTR_VALUE_SCRPASSWORD    TEXT("ScreenSave_Data")
  837. #define REGSTR_VALUE_LOWPOWERTIMEOUT    TEXT("ScreenSaveLowPowerTimeout")
  838. #define REGSTR_VALUE_POWEROFFTIMEOUT    TEXT("ScreenSavePowerOffTimeout")
  839. #define REGSTR_VALUE_LOWPOWERACTIVE     TEXT("ScreenSaveLowPowerActive")
  840. #define REGSTR_VALUE_POWEROFFACTIVE     TEXT("ScreenSavePowerOffActive")
  841. // used for Windows applets
  842. #define REGSTR_PATH_WINDOWSAPPLETS TEXT("Software\Microsoft\Windows\CurrentVersion\Applets")
  843. //
  844. // system tray.  Flag values defined in systrap.h
  845. //
  846. #define REGSTR_PATH_SYSTRAY TEXT("Software\Microsoft\Windows\CurrentVersion\Applets\SysTray")
  847. #define REGSTR_VAL_SYSTRAYSVCS TEXT("Services")
  848. #define REGSTR_VAL_SYSTRAYBATFLAGS TEXT("PowerFlags")
  849. #define REGSTR_VAL_SYSTRAYPCCARDFLAGS TEXT("PCMCIAFlags")
  850. //
  851. // Used by system networking components to store per-user values.
  852. // All keys here are under HKCU.
  853. //
  854. #define REGSTR_PATH_NETWORK_USERSETTINGS        TEXT("Network")
  855. #define REGSTR_KEY_NETWORK_PERSISTENT           TEXT("\Persistent")
  856. #define REGSTR_KEY_NETWORK_RECENT               TEXT("\Recent")
  857. #define REGSTR_VAL_REMOTE_PATH                  TEXT("RemotePath")
  858. #define REGSTR_VAL_USER_NAME                    TEXT("UserName")
  859. #define REGSTR_VAL_PROVIDER_NAME                TEXT("ProviderName")
  860. #define REGSTR_VAL_CONNECTION_TYPE              TEXT("ConnectionType")
  861. #define REGSTR_VAL_UPGRADE                      TEXT("Upgrade")
  862. #define REGSTR_KEY_LOGON TEXT("\Logon")
  863. #define REGSTR_VAL_MUSTBEVALIDATED  TEXT("MustBeValidated")
  864. #define REGSTR_VAL_RUNLOGINSCRIPT       TEXT("ProcessLoginScript")
  865. //
  866. // NetworkProvider entries. These entries are under
  867. // REGSTR_PATH_SERVICES\xxx\NetworkProvider
  868. //
  869. #define REGSTR_KEY_NETWORKPROVIDER TEXT("\NetworkProvider")
  870. #define REGSTR_PATH_NW32NETPROVIDER REGSTR_PATH_SERVICES TEXT("\NWNP32") REGSTR_KEY_NETWORKPROVIDER
  871. #define REGSTR_PATH_MS32NETPROVIDER REGSTR_PATH_SERVICES TEXT("\MSNP32") REGSTR_KEY_NETWORKPROVIDER
  872. #define REGSTR_VAL_AUTHENT_AGENT TEXT("AuthenticatingAgent")
  873. //
  874. // Entries under REGSTR_PATH_REALMODENET
  875. //
  876. #define REGSTR_VAL_PREFREDIR TEXT("PreferredRedir")
  877. #define REGSTR_VAL_AUTOSTART TEXT("AutoStart")
  878. #define REGSTR_VAL_AUTOLOGON TEXT("AutoLogon")
  879. #define REGSTR_VAL_NETCARD TEXT("Netcard")
  880. #define REGSTR_VAL_TRANSPORT TEXT("Transport")
  881. #define REGSTR_VAL_DYNAMIC TEXT("Dynamic")
  882. #define REGSTR_VAL_TRANSITION TEXT("Transition")
  883. #define REGSTR_VAL_STATICDRIVE TEXT("StaticDrive")
  884. #define REGSTR_VAL_LOADHI TEXT("LoadHi")
  885. #define REGSTR_VAL_LOADRMDRIVERS TEXT("LoadRMDrivers")
  886. #define REGSTR_VAL_SETUPN TEXT("SetupN")
  887. #define REGSTR_VAL_SETUPNPATH TEXT("SetupNPath")
  888. //
  889. // Entries under REGSTR_PATH_CVNETWORK
  890. //
  891. #define REGSTR_VAL_WRKGRP_FORCEMAPPING TEXT("WrkgrpForceMapping")
  892. #define REGSTR_VAL_WRKGRP_REQUIRED TEXT("WrkgrpRequired")
  893. //
  894. // NT-compatible place where the name of the currently logged-on user is stored.
  895. //
  896. #define REGSTR_PATH_CURRENT_CONTROL_SET TEXT("System\CurrentControlSet\Control")
  897. #define REGSTR_VAL_CURRENT_USER                 TEXT("Current User")
  898. // section where password providers are installed (each provider has subkey under this key)
  899. #define REGSTR_PATH_PWDPROVIDER         TEXT("System\CurrentControlSet\Control\PwdProvider")
  900. #define REGSTR_VAL_PWDPROVIDER_PATH TEXT("ProviderPath")
  901. #define REGSTR_VAL_PWDPROVIDER_DESC TEXT("Description")
  902. #define REGSTR_VAL_PWDPROVIDER_CHANGEPWD TEXT("ChangePassword")
  903. #define REGSTR_VAL_PWDPROVIDER_CHANGEPWDHWND TEXT("ChangePasswordHwnd")
  904. #define REGSTR_VAL_PWDPROVIDER_GETPWDSTATUS TEXT("GetPasswordStatus")
  905. #define REGSTR_VAL_PWDPROVIDER_ISNP TEXT("NetworkProvider")
  906. #define REGSTR_VAL_PWDPROVIDER_CHANGEORDER TEXT("ChangeOrder")
  907. //
  908. // Used by administrator configuration tool and various components who enforce
  909. // policies.
  910. //
  911. #define REGSTR_PATH_POLICIES    TEXT("Software\Microsoft\Windows\CurrentVersion\Policies")
  912. // used to control remote update of administrator policies
  913. #define REGSTR_PATH_UPDATE              TEXT("System\CurrentControlSet\Control\Update")
  914. #define REGSTR_VALUE_ENABLE             TEXT("Enable")
  915. #define REGSTR_VALUE_VERBOSE    TEXT("Verbose")
  916. #define REGSTR_VALUE_NETPATH    TEXT("NetworkPath")
  917. #define REGSTR_VALUE_DEFAULTLOC TEXT("UseDefaultNetLocation")
  918. //
  919. //      Entries under REGSTR_PATH_POLICIES
  920. //
  921. #define REGSTR_KEY_NETWORK              TEXT("Network")
  922. #define REGSTR_KEY_SYSTEM               TEXT("System")
  923. #define REGSTR_KEY_PRINTERS             TEXT("Printers")
  924. #define REGSTR_KEY_WINOLDAPP            TEXT("WinOldApp")
  925. // (following are values REG_DWORD, legal values 0 or 1, treat as TEXT("0") if value not present)
  926. // policies under NETWORK key
  927. #define REGSTR_VAL_NOFILESHARING                TEXT("NoFileSharing") // TEXT("1") prevents server from loading
  928. #define REGSTR_VAL_NOPRINTSHARING               TEXT("NoPrintSharing")
  929. #define REGSTR_VAL_NOFILESHARINGCTRL    TEXT("NoFileSharingControl") // TEXT("1") removes sharing ui
  930. #define REGSTR_VAL_NOPRINTSHARINGCTRL   TEXT("NoPrintSharingControl")
  931. #define REGSTR_VAL_HIDESHAREPWDS                TEXT("HideSharePwds") // TEXT("1") hides share passwords with asterisks
  932. #define REGSTR_VAL_DISABLEPWDCACHING    TEXT("DisablePwdCaching") // TEXT("1") disables caching
  933. #define REGSTR_VAL_ALPHANUMPWDS                 TEXT("AlphanumPwds") // TEXT("1") forces alphanumeric passwords
  934. #define REGSTR_VAL_NETSETUP_DISABLE                     TEXT("NoNetSetup")
  935. #define REGSTR_VAL_NETSETUP_NOCONFIGPAGE        TEXT("NoNetSetupConfigPage")
  936. #define REGSTR_VAL_NETSETUP_NOIDPAGE            TEXT("NoNetSetupIDPage")
  937. #define REGSTR_VAL_NETSETUP_NOSECURITYPAGE      TEXT("NoNetSetupSecurityPage")
  938. #define REGSTR_VAL_SYSTEMCPL_NOVIRTMEMPAGE  TEXT("NoVirtMemPage")
  939. #define REGSTR_VAL_SYSTEMCPL_NODEVMGRPAGE   TEXT("NoDevMgrPage")
  940. #define REGSTR_VAL_SYSTEMCPL_NOCONFIGPAGE       TEXT("NoConfigPage")
  941. #define REGSTR_VAL_SYSTEMCPL_NOFILESYSPAGE      TEXT("NoFileSysPage")
  942. #define REGSTR_VAL_DISPCPL_NODISPCPL            TEXT("NoDispCPL")
  943. #define REGSTR_VAL_DISPCPL_NOBACKGROUNDPAGE TEXT("NoDispBackgroundPage")
  944. #define REGSTR_VAL_DISPCPL_NOSCRSAVPAGE TEXT("NoDispScrSavPage")
  945. #define REGSTR_VAL_DISPCPL_NOAPPEARANCEPAGE TEXT("NoDispAppearancePage")
  946. #define REGSTR_VAL_DISPCPL_NOSETTINGSPAGE TEXT("NoDispSettingsPage")
  947. #define REGSTR_VAL_SECCPL_NOSECCPL                      TEXT("NoSecCPL")
  948. #define REGSTR_VAL_SECCPL_NOPWDPAGE                     TEXT("NoPwdPage")
  949. #define REGSTR_VAL_SECCPL_NOADMINPAGE           TEXT("NoAdminPage")
  950. #define REGSTR_VAL_SECCPL_NOPROFILEPAGE         TEXT("NoProfilePage")
  951. #define REGSTR_VAL_PRINTERS_HIDETABS            TEXT("NoPrinterTabs")
  952. #define REGSTR_VAL_PRINTERS_NODELETE            TEXT("NoDeletePrinter")
  953. #define REGSTR_VAL_PRINTERS_NOADD                       TEXT("NoAddPrinter")
  954. #define REGSTR_VAL_WINOLDAPP_DISABLED           TEXT("Disabled")
  955. #define REGSTR_VAL_WINOLDAPP_NOREALMODE         TEXT("NoRealMode")
  956. #define REGSTR_VAL_NOENTIRENETWORK                      TEXT("NoEntireNetwork")
  957. #define REGSTR_VAL_NOWORKGROUPCONTENTS          TEXT("NoWorkgroupContents")
  958. // (following are values REG_DWORD, legal values 0 or 1, treat as TEXT("1") if value not present)
  959. // policies under PoliciesSYSTEM key
  960. #define REGSTR_VAL_UNDOCK_WITHOUT_LOGON         TEXT("UndockWithoutLogon")
  961. // REG_DWORD, 0=off, otherwise value is minimum # of chars to allow in password
  962. #define REGSTR_VAL_MINPWDLEN                    TEXT("MinPwdLen")
  963. // REG_DWORD, 0=off, otherwise value is # of days for pwd to expire
  964. #define REGSTR_VAL_PWDEXPIRATION                TEXT("PwdExpiration")
  965. #define REGSTR_VAL_WIN31PROVIDER                TEXT("Win31Provider") // REG_SZ
  966. // policies under SYSTEM key
  967. #define REGSTR_VAL_DISABLEREGTOOLS              TEXT("DisableRegistryTools")
  968. #define REGSTR_PATH_WINLOGON    TEXT("Software\Microsoft\Windows\CurrentVersion\Winlogon")
  969. #define REGSTR_VAL_LEGALNOTICECAPTION   TEXT("LegalNoticeCaption")      // REG_SZ
  970. #define REGSTR_VAL_LEGALNOTICETEXT              TEXT("LegalNoticeText")         // REG_SZ
  971. #define REGSTR_VAL_DRIVE_SPINDOWN               TEXT("NoDispSpinDown")
  972. #define REGSTR_VAL_RESTRICTRUN  TEXT("RestrictRun")
  973. //
  974. //  Entries in policy file.  (Won't be in local registry, only policy hive)
  975. #define REGSTR_KEY_POL_USERS            TEXT("Users")
  976. #define REGSTR_KEY_POL_COMPUTERS        TEXT("Computers")
  977. #define REGSTR_KEY_POL_USERGROUPS       TEXT("UserGroups")
  978. #define REGSTR_KEY_POL_DEFAULT          TEXT(".default")
  979. #define REGSTR_KEY_POL_USERGROUPDATA TEXT("GroupData\UserGroups\Priority")
  980. //
  981. //      Entries for time zone information under LOCAL_MACHINE
  982. //
  983. #define REGSTR_PATH_TIMEZONE        TEXT("System\CurrentControlSet\Control\TimeZoneInformation")
  984. #define REGSTR_VAL_TZBIAS           TEXT("Bias")
  985. #define REGSTR_VAL_TZDLTBIAS        TEXT("DaylightBias")
  986. #define REGSTR_VAL_TZSTDBIAS        TEXT("StandardBias")
  987. #define REGSTR_VAL_TZACTBIAS        TEXT("ActiveTimeBias")
  988. #define REGSTR_VAL_TZDLTFLAG        TEXT("DaylightFlag")
  989. #define REGSTR_VAL_TZSTDSTART       TEXT("StandardStart")
  990. #define REGSTR_VAL_TZDLTSTART       TEXT("DaylightStart")
  991. #define REGSTR_VAL_TZDLTNAME        TEXT("DaylightName")
  992. #define REGSTR_VAL_TZSTDNAME        TEXT("StandardName")
  993. #define REGSTR_VAL_TZNOCHANGESTART  TEXT("NoChangeStart")
  994. #define REGSTR_VAL_TZNOCHANGEEND    TEXT("NoChangeEnd")
  995. #define REGSTR_VAL_TZNOAUTOTIME     TEXT("DisableAutoDaylightTimeSet")
  996. //
  997. //      Entries for floating point processor existence under LOCAL_MACHINE
  998. //
  999. #define REGSTR_PATH_FLOATINGPOINTPROCESSOR TEXT("HARDWARE\DESCRIPTION\System\FloatingPointProcessor")
  1000. #define REGSTR_PATH_FLOATINGPOINTPROCESSOR0 TEXT("HARDWARE\DESCRIPTION\System\FloatingPointProcessor\0")
  1001. //
  1002. //      Entries for computer name under LOCAL_MACHINE
  1003. //
  1004. #define REGSTR_PATH_COMPUTRNAME TEXT("System\CurrentControlSet\Control\ComputerName\ComputerName")
  1005. #define REGSTR_VAL_COMPUTRNAME TEXT("ComputerName")
  1006. //      Entry so that we force a reboot on shutdown / single instance dos app
  1007. #define REGSTR_PATH_SHUTDOWN TEXT("System\CurrentControlSet\Control\Shutdown")
  1008. #define REGSTR_VAL_FORCEREBOOT     TEXT("ForceReboot")
  1009. #define REGSTR_VAL_SETUPPROGRAMRAN TEXT("SetupProgramRan")
  1010. #define REGSTR_VAL_DOES_POLLING    TEXT("PollingSupportNeeded")
  1011. //
  1012. //      Entries for known system DLLs under LOCAL_MACHINE
  1013. //
  1014. //      The VAL keys here are the actual DLL names (FOO.DLL)
  1015. //
  1016. #define REGSTR_PATH_KNOWNDLLS   TEXT("System\CurrentControlSet\Control\SessionManager\KnownDLLs")
  1017. #define REGSTR_PATH_KNOWN16DLLS TEXT("System\CurrentControlSet\Control\SessionManager\Known16DLLs")
  1018. //      Entries here for system dlls we need to version check in case overwritten
  1019. #define REGSTR_PATH_CHECKVERDLLS TEXT("System\CurrentControlSet\Control\SessionManager\CheckVerDLLs")
  1020. #define REGSTR_PATH_WARNVERDLLS  TEXT("System\CurrentControlSet\Control\SessionManager\WarnVerDLLs")
  1021. //      Entries here for app ini files we (msgsrv32) need to hack
  1022. #define REGSTR_PATH_HACKINIFILE  TEXT("System\CurrentControlSet\Control\SessionManager\HackIniFiles")
  1023. //      Keys here for bad applications we want to warn the user about before running
  1024. #define REGSTR_PATH_CHECKBADAPPS TEXT("System\CurrentControlSet\Control\SessionManager\CheckBadApps")
  1025. //      Keys here for applications we need to patch
  1026. #define REGSTR_PATH_APPPATCH TEXT("System\CurrentControlSet\Control\SessionManager\AppPatches")
  1027. #define REGSTR_PATH_CHECKBADAPPS400 TEXT("System\CurrentControlSet\Control\SessionManager\CheckBadApps400")
  1028. #define REGSTR_PATH_SHELLSERVICEOBJECT          TEXT("Software\Microsoft\Windows\CurrentVersion\ShellServiceObject")
  1029. #define REGSTR_PATH_SHELLSERVICEOBJECTDELAYED   TEXT("Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad")
  1030. //
  1031. //      Entries for known system VxDs under LOCAL_MACHINE
  1032. //
  1033. //      The VAL keys here are the full path names of VxDs (c:appvapp.vxd)
  1034. //      It is suggested that the keynames be the same as the module name of
  1035. //      the VxD.
  1036. //      This section is used to dyna-load VxDs with
  1037. //      CreateFile(\.vxd_regstr_keyname).
  1038. //
  1039. #define REGSTR_PATH_KNOWNVXDS   TEXT("System\CurrentControlSet\Control\SessionManager\KnownVxDs")
  1040. //
  1041. // Entries for values in uninstaller keys under REGSTR_PATH_UNINSTALL  appname
  1042. //
  1043. #define REGSTR_VAL_UNINSTALLER_DISPLAYNAME     TEXT("DisplayName")
  1044. #define REGSTR_VAL_UNINSTALLER_COMMANDLINE     TEXT("UninstallString")
  1045. //
  1046. // Entries for values in uninstaller keys under REGSTR_PATH_REINSTALL  instanceid
  1047. //
  1048. #define REGSTR_VAL_REINSTALL_DISPLAYNAME        TEXT("DisplayName")
  1049. #define REGSTR_VAL_REINSTALL_STRING             TEXT("ReinstallString")
  1050. #define REGSTR_VAL_REINSTALL_DEVICEINSTANCEIDS  TEXT("DeviceInstanceIds")
  1051. //
  1052. //      Entries for known per user settings: Under HKEY_CURRENT_USER
  1053. //
  1054. #define REGSTR_PATH_DESKTOP     REGSTR_PATH_SCREENSAVE
  1055. #define REGSTR_PATH_MOUSE           TEXT("Control Panel\Mouse")
  1056. #define REGSTR_PATH_KEYBOARD    TEXT("Control Panel\Keyboard")
  1057. #define REGSTR_PATH_COLORS          TEXT("Control Panel\Colors")
  1058. #define REGSTR_PATH_SOUND           TEXT("Control Panel\Sound")
  1059. #define REGSTR_PATH_METRICS         TEXT("Control Panel\Desktop\WindowMetrics")
  1060. #define REGSTR_PATH_ICONS       TEXT("Control Panel\Icons")
  1061. #define REGSTR_PATH_CURSORS     TEXT("Control Panel\Cursors")
  1062. #define REGSTR_PATH_CHECKDISK   TEXT("Software\Microsoft\Windows\CurrentVersion\Applets\Check Drive")
  1063. #define REGSTR_PATH_CHECKDISKSET    TEXT("Settings")
  1064. #define REGSTR_PATH_CHECKDISKUDRVS  TEXT("NoUnknownDDErrDrvs")
  1065. //
  1066. //  Entries under REGSTR_PATH_FAULT
  1067. //
  1068. #define REGSTR_PATH_FAULT               TEXT("Software\Microsoft\Windows\CurrentVersion\Fault")
  1069. #define REGSTR_VAL_FAULT_LOGFILE        TEXT("LogFile")
  1070. //
  1071. //  Entries under REGSTR_PATH_AEDEBUG
  1072. //
  1073. #define REGSTR_PATH_AEDEBUG             TEXT("Software\Microsoft\Windows NT\CurrentVersion\AeDebug")
  1074. #define REGSTR_VAL_AEDEBUG_DEBUGGER     TEXT("Debugger")
  1075. #define REGSTR_VAL_AEDEBUG_AUTO         TEXT("Auto")
  1076. //
  1077. //  Entries under REGSTR_PATH_GRPCONV
  1078. //
  1079. #define REGSTR_PATH_GRPCONV     TEXT("Software\Microsoft\Windows\CurrentVersion\GrpConv")
  1080. //
  1081. //  Entries under the RegItem key in a shell namespace
  1082. //
  1083. #define REGSTR_VAL_REGITEMDELETEMESSAGE TEXT("Removal Message")
  1084. //
  1085. //  Entries for the Drives Tools page
  1086. //
  1087. //  NOTE that these items are not recorded for removable drives. These
  1088. //  keys record X=DSKTLSYSTEMTIME where X is the drive letter. Since
  1089. //  these tools actually work on the disk in the drive, as opposed to
  1090. //  the drive itself, it is pointless to record them on a removable media
  1091. //  since if a different disk is inserted in the drive, the data is
  1092. //  meaningless.
  1093. //
  1094. #define REGSTR_PATH_LASTCHECK           TEXT("Software\Microsoft\Windows\CurrentVersion\Explorer\LastCheck")
  1095. #define REGSTR_PATH_LASTOPTIMIZE        TEXT("Software\Microsoft\Windows\CurrentVersion\Explorer\LastOptimize")
  1096. #define REGSTR_PATH_LASTBACKUP          TEXT("Software\Microsoft\Windows\CurrentVersion\Explorer\LastBackup")
  1097. //
  1098. // The above 3 keys record with the registry value of the drive letter
  1099. // a SYSTEMTIME structure
  1100. //
  1101. //
  1102. // Entries under HKEY_LOCAL_MACHINE for Check Drive specific stuff
  1103. //
  1104. #define REGSTR_PATH_CHKLASTCHECK        TEXT("Software\Microsoft\Windows\CurrentVersion\Applets\Check Drive\LastCheck")
  1105. #define REGSTR_PATH_CHKLASTSURFAN       TEXT("Software\Microsoft\Windows\CurrentVersion\Applets\Check Drive\LastSurfaceAnalysis")
  1106. #ifndef _IN_KERNEL_
  1107. //
  1108. // The above 2 keys record the following binary structure which is
  1109. // a system time structure with the addition of a result code field.
  1110. // Note that the time part of REGSTR_PATH_CHKLASTCHECK is effectively
  1111. // identical to REGSTR_PATH_LASTCHECK under the explorer key
  1112. //
  1113. typedef struct _DSKTLSYSTEMTIME {
  1114.     WORD wYear;
  1115.     WORD wMonth;
  1116.     WORD wDayOfWeek;
  1117.     WORD wDay;
  1118.     WORD wHour;
  1119.     WORD wMinute;
  1120.     WORD wSecond;
  1121.     WORD wMilliseconds;
  1122.     WORD wResult;
  1123. } DSKTLSYSTEMTIME, *PDSKTLSYSTEMTIME, *LPDSKTLSYSTEMTIME;
  1124. #endif
  1125. //
  1126. // The following are defines for the wResult field
  1127. //
  1128. #define DTRESULTOK      0       // Operation was successful, no errors
  1129. #define DTRESULTFIX     1       // Operation was successful, errors were found
  1130.                                 //   but all were fixed.
  1131. #define DTRESULTPROB    2       // Operation was not successful or errors
  1132.                                 //   were found and some or all were not fixed.
  1133. #define DTRESULTPART    3       // Operation was partially completed but was
  1134.                                 //   terminated either by the user or an error.
  1135. //
  1136. //  Entries for persistent shares
  1137. //
  1138. #define REGSTR_KEY_SHARES             TEXT("Software\Microsoft\Windows\CurrentVersion\Network\LanMan")
  1139. #define REGSTR_VAL_SHARES_FLAGS   TEXT("Flags")
  1140. #define REGSTR_VAL_SHARES_TYPE    TEXT("Type")
  1141. #define REGSTR_VAL_SHARES_PATH    TEXT("Path")
  1142. #define REGSTR_VAL_SHARES_REMARK  TEXT("Remark")
  1143. #define REGSTR_VAL_SHARES_RW_PASS TEXT("Parm1")
  1144. #define REGSTR_VAL_SHARES_RO_PASS TEXT("Parm2")
  1145. //
  1146. //      Entries for printer settings under LOCAL_MACHINE
  1147. //
  1148. #define REGSTR_PATH_PRINT           TEXT("System\CurrentControlSet\Control\Print")
  1149. #define REGSTR_PATH_PRINTERS        TEXT("System\CurrentControlSet\Control\Print\Printers")
  1150. #define REGSTR_PATH_PROVIDERS       TEXT("System\CurrentControlSet\Control\Print\Providers")
  1151. #define REGSTR_PATH_MONITORS        TEXT("System\CurrentControlSet\Control\Print\Monitors")
  1152. #define REGSTR_PATH_ENVIRONMENTS    TEXT("System\CurrentControlSet\Control\Print\Environments")
  1153. #define REGSTR_VAL_START_ON_BOOT    TEXT("StartOnBoot")
  1154. #define REGSTR_VAL_PRINTERS_MASK    TEXT("PrintersMask")
  1155. #define REGSTR_VAL_DOS_SPOOL_MASK   TEXT("DOSSpoolMask")
  1156. #define REGSTR_KEY_CURRENT_ENV      TEXT("\Windows 4.0")
  1157. #define REGSTR_KEY_DRIVERS          TEXT("\Drivers")
  1158. #define REGSTR_KEY_PRINT_PROC       TEXT("\Print Processors")
  1159. //
  1160. // Entries for MultiMedia under HKEY_CURRENT_USER
  1161. //
  1162. #define REGSTR_PATH_EVENTLABELS     TEXT("AppEvents\EventLabels")
  1163. #define REGSTR_PATH_SCHEMES         TEXT("AppEvents\Schemes")
  1164. #define REGSTR_PATH_APPS            REGSTR_PATH_SCHEMES TEXT("\Apps")
  1165. #define REGSTR_PATH_APPS_DEFAULT    REGSTR_PATH_SCHEMES TEXT("\Apps\.Default")
  1166. #define REGSTR_PATH_NAMES           REGSTR_PATH_SCHEMES TEXT("\Names")
  1167. #define REGSTR_PATH_MULTIMEDIA      REGSTR_PATH_SETUP TEXT("\Multimedia")
  1168. #define REGSTR_PATH_MULTIMEDIA_AUDIO TEXT("Software\Microsoft\Multimedia\Audio")
  1169. #define REGSTR_PATH_MULTIMEDIA_AUDIO_IMAGES REGSTR_PATH_MULTIMEDIA_AUDIO TEXT("\Images")
  1170. //
  1171. // Entries for MultiMedia under HKEY_LOCAL_MACHINE
  1172. //
  1173. #define REGSTR_PATH_MEDIARESOURCES  REGSTR_PATH_CURRENT_CONTROL_SET TEXT("\MediaResources")
  1174. #define REGSTR_PATH_MEDIAPROPERTIES REGSTR_PATH_CURRENT_CONTROL_SET TEXT("\MediaProperties")
  1175. #define REGSTR_PATH_PRIVATEPROPERTIES REGSTR_PATH_MEDIAPROPERTIES TEXT("\PrivateProperties")
  1176. #define REGSTR_PATH_PUBLICPROPERTIES REGSTR_PATH_MEDIAPROPERTIES TEXT("\PublicProperties")
  1177. // joysticks
  1178. #define REGSTR_PATH_JOYOEM           REGSTR_PATH_PRIVATEPROPERTIES TEXT("\Joystick\OEM")
  1179. #define REGSTR_PATH_JOYCONFIG        REGSTR_PATH_MEDIARESOURCES TEXT("\Joystick")
  1180. #define REGSTR_KEY_JOYCURR           TEXT("CurrentJoystickSettings")
  1181. #define REGSTR_KEY_JOYSETTINGS       TEXT("JoystickSettings")
  1182. // joystick values found under REGSTR_PATH_JOYCONFIG
  1183. #define REGSTR_VAL_JOYUSERVALUES     TEXT("JoystickUserValues")
  1184. #define REGSTR_VAL_JOYCALLOUT        TEXT("JoystickCallout")
  1185. // joystick values found under REGSTR_KEY_JOYCURR and REGSTR_KEY_JOYSETTINGS
  1186. #define REGSTR_VAL_JOYNCONFIG        TEXT("Joystick%dConfiguration")
  1187. #define REGSTR_VAL_JOYNOEMNAME       TEXT("Joystick%dOEMName")
  1188. #define REGSTR_VAL_JOYNOEMCALLOUT    TEXT("Joystick%dOEMCallout")
  1189. // joystick values found under keys under REGSTR_PATH_JOYOEM
  1190. #define REGSTR_VAL_JOYOEMCALLOUT        TEXT("OEMCallout")
  1191. #define REGSTR_VAL_JOYOEMNAME           TEXT("OEMName")
  1192. #define REGSTR_VAL_JOYOEMDATA           TEXT("OEMData")
  1193. #define REGSTR_VAL_JOYOEMXYLABEL        TEXT("OEMXYLabel")
  1194. #define REGSTR_VAL_JOYOEMZLABEL         TEXT("OEMZLabel")
  1195. #define REGSTR_VAL_JOYOEMRLABEL         TEXT("OEMRLabel")
  1196. #define REGSTR_VAL_JOYOEMPOVLABEL       TEXT("OEMPOVLabel")
  1197. #define REGSTR_VAL_JOYOEMULABEL         TEXT("OEMULabel")
  1198. #define REGSTR_VAL_JOYOEMVLABEL         TEXT("OEMVLabel")
  1199. #define REGSTR_VAL_JOYOEMTESTMOVEDESC   TEXT("OEMTestMoveDesc")
  1200. #define REGSTR_VAL_JOYOEMTESTBUTTONDESC TEXT("OEMTestButtonDesc")
  1201. #define REGSTR_VAL_JOYOEMTESTMOVECAP    TEXT("OEMTestMoveCap")
  1202. #define REGSTR_VAL_JOYOEMTESTBUTTONCAP  TEXT("OEMTestButtonCap")
  1203. #define REGSTR_VAL_JOYOEMTESTWINCAP     TEXT("OEMTestWinCap")
  1204. #define REGSTR_VAL_JOYOEMCALCAP         TEXT("OEMCalCap")
  1205. #define REGSTR_VAL_JOYOEMCALWINCAP      TEXT("OEMCalWinCap")
  1206. #define REGSTR_VAL_JOYOEMCAL1           TEXT("OEMCal1")
  1207. #define REGSTR_VAL_JOYOEMCAL2           TEXT("OEMCal2")
  1208. #define REGSTR_VAL_JOYOEMCAL3           TEXT("OEMCal3")
  1209. #define REGSTR_VAL_JOYOEMCAL4           TEXT("OEMCal4")
  1210. #define REGSTR_VAL_JOYOEMCAL5           TEXT("OEMCal5")
  1211. #define REGSTR_VAL_JOYOEMCAL6           TEXT("OEMCal6")
  1212. #define REGSTR_VAL_JOYOEMCAL7           TEXT("OEMCal7")
  1213. #define REGSTR_VAL_JOYOEMCAL8           TEXT("OEMCal8")
  1214. #define REGSTR_VAL_JOYOEMCAL9           TEXT("OEMCal9")
  1215. #define REGSTR_VAL_JOYOEMCAL10          TEXT("OEMCal10")
  1216. #define REGSTR_VAL_JOYOEMCAL11          TEXT("OEMCal11")
  1217. #define REGSTR_VAL_JOYOEMCAL12          TEXT("OEMCal12")
  1218. // Image values under REGSTR_PATH_MULTIMEDIA_AUDIO_IMAGES
  1219. #define REGSTR_VAL_AUDIO_BITMAP TEXT("bitmap")
  1220. #define REGSTR_VAL_AUDIO_ICON TEXT("icon")
  1221. //
  1222. // Entries for Device Installer under HKEY_CURRENT_USER
  1223. //
  1224. #define REGSTR_PATH_DEVICEINSTALLER     TEXT("Software\Microsoft\Windows\CurrentVersion\Device Installer")
  1225. // Device Installer values found under REGSTR_PATH_DEVICEINSTALLER
  1226. #define REGSTR_VAL_SEARCHOPTIONS        TEXT("SearchOptions")
  1227. // BiosInfo defines.
  1228. #ifndef _IN_KERNEL_
  1229. #define REGSTR_PATH_BIOSINFO            TEXT("System\CurrentControlSet\Control\BiosInfo")
  1230. #else
  1231. #define REGSTR_PATH_BIOSINFO            L"\Registry\Machine\System\CurrentControlSet\Control\BiosInfo"
  1232. #endif
  1233. // Pci Irq Routing registry defines.
  1234. #ifndef _IN_KERNEL_
  1235. #define REGSTR_PATH_PCIIR               TEXT("System\CurrentControlSet\Control\Pnp\PciIrqRouting")
  1236. #define REGSTR_VAL_OPTIONS              TEXT("Options")
  1237. #define REGSTR_VAL_STAT                 TEXT("Status")
  1238. #define REGSTR_VAL_TABLE_STAT           TEXT("TableStatus")
  1239. #define REGSTR_VAL_MINIPORT_STAT        TEXT("MiniportStatus")
  1240. #else
  1241. #define REGSTR_PATH_PCIIR               L"\Registry\Machine\System\CurrentControlSet\Control\Pnp\PciIrqRouting"
  1242. #define REGSTR_VAL_OPTIONS              L"Options"
  1243. #define REGSTR_VAL_STAT                 L"Status"
  1244. #define REGSTR_VAL_TABLE_STAT           L"TableStatus"
  1245. #define REGSTR_VAL_MINIPORT_STAT        L"MiniportStatus"
  1246. #endif
  1247. // Pci Irq Routing Option values.
  1248. #define PIR_OPTION_ENABLED                  0x00000001
  1249. #define PIR_OPTION_REGISTRY                 0x00000002
  1250. #define PIR_OPTION_MSSPEC                   0x00000004
  1251. #define PIR_OPTION_REALMODE                 0x00000008
  1252. #define PIR_OPTION_DEFAULT                  0x0000000f
  1253. // Pci Irq Routing Status values.
  1254. #define PIR_STATUS_ERROR                    0x00000000
  1255. #define PIR_STATUS_ENABLED                  0x00000001
  1256. #define PIR_STATUS_DISABLED                 0x00000002
  1257. #define PIR_STATUS_MAX                      0x00000003
  1258. #define PIR_STATUS_TABLE_REGISTRY           0x00000000
  1259. #define PIR_STATUS_TABLE_MSSPEC                     0x00000001
  1260. #define PIR_STATUS_TABLE_REALMODE                   0x00000002
  1261. #define PIR_STATUS_TABLE_NONE                   0x00000003
  1262. #define PIR_STATUS_TABLE_ERROR                      0x00000004
  1263. #define PIR_STATUS_TABLE_BAD                        0x00000005
  1264. #define PIR_STATUS_TABLE_SUCCESS            0x00000006
  1265. #define PIR_STATUS_TABLE_MAX                0x00000007
  1266. #define PIR_STATUS_MINIPORT_NORMAL                  0x00000000
  1267. #define PIR_STATUS_MINIPORT_COMPATIBLE      0x00000001
  1268. #define PIR_STATUS_MINIPORT_OVERRIDE        0x00000002
  1269. #define PIR_STATUS_MINIPORT_NONE                    0x00000003
  1270. #define PIR_STATUS_MINIPORT_ERROR                   0x00000004
  1271. #define PIR_STATUS_MINIPORT_NOKEY                   0x00000005
  1272. #define PIR_STATUS_MINIPORT_SUCCESS                 0x00000006
  1273. #define PIR_STATUS_MINIPORT_INVALID                 0x00000007
  1274. #define PIR_STATUS_MINIPORT_MAX             0x00000008
  1275. //
  1276. // entries for LastKnownGood
  1277. // each value name under this key is SubPath/File (note reversal of '\' to '/')
  1278. // each value is an indication of post-processing to be done after files have been recovered
  1279. // LASTGOOD_OPERATION bits indicate the primary post-processing operation
  1280. // remaining bits may be used as flags (allocate flags from highest bits first)
  1281. // a value of 0 is the same as the value being omitted, ie, no post processing.
  1282. //
  1283. #define REGSTR_PATH_LASTGOOD            TEXT("System\LastKnownGoodRecovery\LastGood")
  1284. #define REGSTR_PATH_LASTGOODTMP         TEXT("System\LastKnownGoodRecovery\LastGood.Tmp")
  1285. #define LASTGOOD_OPERATION              0x000000FF // operation to perform
  1286. #define LASTGOOD_OPERATION_NOPOSTPROC   0x00000000 // no post-processing
  1287. #define LASTGOOD_OPERATION_DELETE       0x00000001 // Delete file during recovery
  1288. #endif  //_INC_REGSTR