home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 February / DPPCPRO0299.ISO / February / Delphi / Install / DATA.Z / REGSTR.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1996-06-09  |  56.2 KB  |  1,116 lines

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