home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 June / PCFJune.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / regstr.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  72.7 KB  |  1,439 lines

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