home *** CD-ROM | disk | FTP | other *** search
/ C Programming Starter Kit 2.0 / SamsPublishing-CProgrammingStarterKit-v2.0-Win31.iso / bc45 / msinc.pak / REGSTR.H < prev    next >
C/C++ Source or Header  |  1997-07-23  |  53KB  |  1,188 lines

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