JwaRegStr.pas
上传用户:davidchvip
上传日期:2009-07-28
资源大小:1749k
文件大小:105k
源码类别:

Windows编程

开发平台:

Delphi

  1. {******************************************************************************}
  2. {                                                                       }
  3. { Registry Key Definitions API interface Unit for Object Pascal                }
  4. {                                                                       }
  5. { Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft          }
  6. { Corporation. All Rights Reserved.                                            }
  7. {                 }
  8. { The original file is: regstr.h, released June 2000. The original Pascal      }
  9. { code is: RegStr.pas, released December 2000. The initial developer of the    }
  10. { Pascal code is Marcel van Brakel (brakelm@chello.nl).                        }
  11. {                                                                              }
  12. { Portions created by Marcel van Brakel are Copyright (C) 1999-2001            }
  13. { Marcel van Brakel. All Rights Reserved.                                      }
  14. {                 }
  15. { Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI)        }
  16. {                }
  17. { You may retrieve the latest version of this file at the Project JEDI home    }
  18. { page, located at http://delphi-jedi.org or my personal homepage located at   }
  19. { http://members.chello.nl/m.vanbrakel2                                        }
  20. {                }
  21. { The contents of this file are used with permission, subject to the Mozilla   }
  22. { Public License Version 1.1 (the "License"); you may not use this file except }
  23. { in compliance with the License. You may obtain a copy of the License at      }
  24. { http://www.mozilla.org/MPL/MPL-1.1.html                                      }
  25. {                                                                              }
  26. { Software distributed under the License is distributed on an "AS IS" basis,   }
  27. { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
  28. { the specific language governing rights and limitations under the License.    }
  29. {                                                                              }
  30. { Alternatively, the contents of this file may be used under the terms of the  }
  31. { GNU Lesser General Public License (the  "LGPL License"), in which case the   }
  32. { provisions of the LGPL License are applicable instead of those above.        }
  33. { If you wish to allow use of your version of this file only under the terms   }
  34. { of the LGPL License and not to allow others to use your version of this file }
  35. { under the MPL, indicate your decision by deleting  the provisions above and  }
  36. { replace  them with the notice and other provisions required by the LGPL      }
  37. { License.  If you do not delete the provisions above, a recipient may use     }
  38. { your version of this file under either the MPL or the LGPL License.          }
  39. {                 }
  40. { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
  41. {                 }
  42. {******************************************************************************}
  43. unit JwaRegStr;
  44. {$WEAKPACKAGEUNIT}
  45. {$HPPEMIT ''}
  46. {$HPPEMIT '#include "regstr.h"'}
  47. {$HPPEMIT ''}
  48. {$I WINDEFINES.INC}
  49. interface
  50. {.$DEFINE NEC_98}
  51. {.$DEFINE _KERNEL_PNPI_}
  52. uses
  53.   JwaWinType;
  54. const
  55. // Public registry key names
  56.   REGSTR_KEY_CLASS       = 'Class'; // under LOCAL_MACHINE
  57.   {$EXTERNALSYM REGSTR_KEY_CLASS}
  58.   REGSTR_KEY_CONFIG      = 'Config'; // under LOCAL_MACHINE
  59.   {$EXTERNALSYM REGSTR_KEY_CONFIG}
  60.   REGSTR_KEY_ENUM        = 'Enum'; // under LOCAL_MACHINE
  61.   {$EXTERNALSYM REGSTR_KEY_ENUM}
  62.   REGSTR_KEY_ROOTENUM    = 'Root'; // child of ENUM
  63.   {$EXTERNALSYM REGSTR_KEY_ROOTENUM}
  64.   REGSTR_KEY_BIOSENUM    = 'BIOS'; // child of ENUM
  65.   {$EXTERNALSYM REGSTR_KEY_BIOSENUM}
  66.   REGSTR_KEY_ACPIENUM    = 'ACPI'; // child of ENUM
  67.   {$EXTERNALSYM REGSTR_KEY_ACPIENUM}
  68.   REGSTR_KEY_PCMCIAENUM  = 'PCMCIA'; // child of ENUM
  69.   {$EXTERNALSYM REGSTR_KEY_PCMCIAENUM}
  70.   REGSTR_KEY_PCIENUM     = 'PCI'; // child of ENUM
  71.   {$EXTERNALSYM REGSTR_KEY_PCIENUM}
  72.   REGSTR_KEY_VPOWERDENUM = 'VPOWERD'; // child of ENUM
  73.   {$EXTERNALSYM REGSTR_KEY_VPOWERDENUM}
  74. {$IFNDEF NEC_98}
  75.   REGSTR_KEY_ISAENUM  = 'ISAPnP'; // child of ENUM
  76.   {$EXTERNALSYM REGSTR_KEY_ISAENUM}
  77.   REGSTR_KEY_EISAENUM = 'EISA'; // child of ENUM
  78.   {$EXTERNALSYM REGSTR_KEY_EISAENUM}
  79. {$ELSE}
  80.   REGSTR_KEY_ISAENUM  = 'C98PnP'; // child of ENUM
  81.   {$EXTERNALSYM REGSTR_KEY_ISAENUM}
  82.   REGSTR_KEY_EISAENUM = 'NESA'; // child of ENUM
  83.   {$EXTERNALSYM REGSTR_KEY_EISAENUM}
  84. {$ENDIF}
  85.   REGSTR_KEY_LOGCONFIG   = 'LogConfig'; // child of enum<enumerator><deviceid><instanceid>
  86.   {$EXTERNALSYM REGSTR_KEY_LOGCONFIG}
  87.   REGSTR_KEY_SYSTEMBOARD = '*PNP0C01'; // child of enumroot
  88.   {$EXTERNALSYM REGSTR_KEY_SYSTEMBOARD}
  89.   REGSTR_KEY_APM         = '*PNP0C05'; // child of enumroot
  90.   {$EXTERNALSYM REGSTR_KEY_APM}
  91.   REGSTR_KEY_INIUPDATE = 'IniUpdate';
  92.   {$EXTERNALSYM REGSTR_KEY_INIUPDATE}
  93.   REG_KEY_INSTDEV      = 'Installed'; // child of hklmclassclassname (Win98-only)
  94.   {$EXTERNALSYM REG_KEY_INSTDEV}
  95.   REGSTR_KEY_DOSOPTCDROM = 'CD-ROM';
  96.   {$EXTERNALSYM REGSTR_KEY_DOSOPTCDROM}
  97.   REGSTR_KEY_DOSOPTMOUSE = 'MOUSE';
  98.   {$EXTERNALSYM REGSTR_KEY_DOSOPTMOUSE}
  99.   REGSTR_KEY_KNOWNDOCKINGSTATES = 'Hardware Profiles';
  100.   {$EXTERNALSYM REGSTR_KEY_KNOWNDOCKINGSTATES}
  101.   REGSTR_KEY_DEVICEPARAMETERS   = 'Device Parameters';
  102.   {$EXTERNALSYM REGSTR_KEY_DEVICEPARAMETERS}
  103. // Public registry paths
  104.   REGSTR_DEFAULT_INSTANCE          = '0000';
  105.   {$EXTERNALSYM REGSTR_DEFAULT_INSTANCE}
  106.   REGSTR_PATH_MOTHERBOARD          = REGSTR_KEY_SYSTEMBOARD + '' + REGSTR_DEFAULT_INSTANCE;
  107.   {$EXTERNALSYM REGSTR_PATH_MOTHERBOARD}
  108.   REGSTR_PATH_SETUP                = 'SoftwareMicrosoftWindowsCurrentVersion';
  109.   {$EXTERNALSYM REGSTR_PATH_SETUP}
  110.   REGSTR_PATH_DRIVERSIGN           = 'SoftwareMicrosoftDriver Signing';
  111.   {$EXTERNALSYM REGSTR_PATH_DRIVERSIGN}
  112.   REGSTR_PATH_NONDRIVERSIGN        = 'SoftwareMicrosoftNon-Driver Signing';
  113.   {$EXTERNALSYM REGSTR_PATH_NONDRIVERSIGN}
  114.   REGSTR_PATH_DRIVERSIGN_POLICY    = 'SoftwarePoliciesMicrosoftWindows NTDriver Signing';
  115.   {$EXTERNALSYM REGSTR_PATH_DRIVERSIGN_POLICY}
  116.   REGSTR_PATH_NONDRIVERSIGN_POLICY = 'SoftwarePoliciesMicrosoftWindows NTNon-Driver Signing';
  117.   {$EXTERNALSYM REGSTR_PATH_NONDRIVERSIGN_POLICY}
  118.   REGSTR_PATH_PIFCONVERT           = 'SoftwareMicrosoftWindowsCurrentVersionPIFConvert';
  119.   {$EXTERNALSYM REGSTR_PATH_PIFCONVERT}
  120.   REGSTR_PATH_MSDOSOPTS            = 'SoftwareMicrosoftWindowsCurrentVersionMS-DOSOptions';
  121.   {$EXTERNALSYM REGSTR_PATH_MSDOSOPTS}
  122.   REGSTR_PATH_NOSUGGMSDOS          = 'SoftwareMicrosoftWindowsCurrentVersionNoMSDOSWarn';
  123.   {$EXTERNALSYM REGSTR_PATH_NOSUGGMSDOS}
  124.   REGSTR_PATH_NEWDOSBOX            = 'SoftwareMicrosoftWindowsCurrentVersionMS-DOSSpecialConfig';
  125.   {$EXTERNALSYM REGSTR_PATH_NEWDOSBOX}
  126.   REGSTR_PATH_RUNONCE              = 'SoftwareMicrosoftWindowsCurrentVersionRunOnce';
  127.   {$EXTERNALSYM REGSTR_PATH_RUNONCE}
  128.   REGSTR_PATH_RUNONCEEX            = 'SoftwareMicrosoftWindowsCurrentVersionRunOnceEx';
  129.   {$EXTERNALSYM REGSTR_PATH_RUNONCEEX}
  130.   REGSTR_PATH_RUN                  = 'SoftwareMicrosoftWindowsCurrentVersionRun';
  131.   {$EXTERNALSYM REGSTR_PATH_RUN}
  132.   REGSTR_PATH_RUNSERVICESONCE      = 'SoftwareMicrosoftWindowsCurrentVersionRunServicesOnce';
  133.   {$EXTERNALSYM REGSTR_PATH_RUNSERVICESONCE}
  134.   REGSTR_PATH_RUNSERVICES          = 'SoftwareMicrosoftWindowsCurrentVersionRunServices';
  135.   {$EXTERNALSYM REGSTR_PATH_RUNSERVICES}
  136.   REGSTR_PATH_EXPLORER             = 'SoftwareMicrosoftWindowsCurrentVersionExplorer';
  137.   {$EXTERNALSYM REGSTR_PATH_EXPLORER}
  138.   REGSTR_PATH_DETECT               = 'SoftwareMicrosoftWindowsCurrentVersionDetect';
  139.   {$EXTERNALSYM REGSTR_PATH_DETECT}
  140.   REGSTR_PATH_APPPATHS             = 'SoftwareMicrosoftWindowsCurrentVersionApp Paths';
  141.   {$EXTERNALSYM REGSTR_PATH_APPPATHS}
  142.   REGSTR_PATH_UNINSTALL            = 'SoftwareMicrosoftWindowsCurrentVersionUninstall';
  143.   {$EXTERNALSYM REGSTR_PATH_UNINSTALL}
  144.   REGSTR_PATH_REALMODENET          = 'SoftwareMicrosoftWindowsCurrentVersionNetworkReal Mode Net';
  145.   {$EXTERNALSYM REGSTR_PATH_REALMODENET}
  146.   REGSTR_PATH_NETEQUIV             = 'SoftwareMicrosoftWindowsCurrentVersionNetworkEquivalent';
  147.   {$EXTERNALSYM REGSTR_PATH_NETEQUIV}
  148.   REGSTR_PATH_CVNETWORK            = 'SoftwareMicrosoftWindowsCurrentVersionNetwork';
  149.   {$EXTERNALSYM REGSTR_PATH_CVNETWORK}
  150.   REGSTR_PATH_RELIABILITY          = 'SoftwareMicrosoftWindowsCurrentVersionReliability';
  151.   {$EXTERNALSYM REGSTR_PATH_RELIABILITY}
  152.   REGSTR_PATH_RELIABILITY_POLICY   = TEXT('SoftwarePoliciesMicrosoftWindows NTReliability');
  153.   {$EXTERNALSYM REGSTR_PATH_RELIABILITY_POLICY}
  154.   REGSTR_PATH_RELIABILITY_POLICY_SHUTDOWNREASONUI = TEXT('ShutdownReasonUI');
  155.   {$EXTERNALSYM REGSTR_PATH_RELIABILITY_POLICY_SHUTDOWNREASONUI}
  156.   REGSTR_PATH_RELIABILITY_POLICY_SNAPSHOT         = TEXT('Snapshot');
  157.   {$EXTERNALSYM REGSTR_PATH_RELIABILITY_POLICY_SNAPSHOT}
  158.   REGSTR_PATH_RELIABILITY_POLICY_REPORTSNAPSHOT   = TEXT('ReportSnapshot');
  159.   {$EXTERNALSYM REGSTR_PATH_RELIABILITY_POLICY_REPORTSNAPSHOT}
  160.   REGSTR_PATH_REINSTALL            = 'SOFTWAREMicrosoftWindowsCurrentVersionReinstall';
  161.   {$EXTERNALSYM REGSTR_PATH_REINSTALL}
  162.   REGSTR_PATH_NT_CURRENTVERSION    = 'SoftwareMicrosoftWindows NTCurrentVersion';
  163.   {$EXTERNALSYM REGSTR_PATH_NT_CURRENTVERSION}
  164.   REGSTR_PATH_VOLUMECACHE = 'SoftwareMicrosoftWindowsCurrentVersionExplorerVolumeCaches';
  165.   {$EXTERNALSYM REGSTR_PATH_VOLUMECACHE}
  166.   REGSTR_VAL_DISPLAY      = 'display';
  167.   {$EXTERNALSYM REGSTR_VAL_DISPLAY}
  168.   REGSTR_PATH_IDCONFIGDB             = 'SystemCurrentControlSetControlIDConfigDB';
  169.   {$EXTERNALSYM REGSTR_PATH_IDCONFIGDB}
  170.   REGSTR_PATH_CRITICALDEVICEDATABASE = 'SystemCurrentControlSetControlCriticalDeviceDatabase';
  171.   {$EXTERNALSYM REGSTR_PATH_CRITICALDEVICEDATABASE}
  172.   REGSTR_PATH_CLASS                  = 'SystemCurrentControlSetServicesClass';
  173.   {$EXTERNALSYM REGSTR_PATH_CLASS}
  174.   REGSTR_PATH_DISPLAYSETTINGS        = 'DisplaySettings';
  175.   {$EXTERNALSYM REGSTR_PATH_DISPLAYSETTINGS}
  176.   REGSTR_PATH_FONTS                  = 'DisplayFonts';
  177.   {$EXTERNALSYM REGSTR_PATH_FONTS}
  178.   REGSTR_PATH_ENUM                   = 'Enum';
  179.   {$EXTERNALSYM REGSTR_PATH_ENUM}
  180.   REGSTR_PATH_ROOT                   = 'EnumRoot';
  181.   {$EXTERNALSYM REGSTR_PATH_ROOT}
  182.   REGSTR_PATH_CURRENTCONTROLSET = 'SystemCurrentControlSet';
  183.   {$EXTERNALSYM REGSTR_PATH_CURRENTCONTROLSET}
  184.   REGSTR_PATH_SYSTEMENUM        = 'SystemCurrentControlSetEnum';
  185.   {$EXTERNALSYM REGSTR_PATH_SYSTEMENUM}
  186.   REGSTR_PATH_HWPROFILES        = 'SystemCurrentControlSetHardware Profiles';
  187.   {$EXTERNALSYM REGSTR_PATH_HWPROFILES}
  188.   REGSTR_PATH_HWPROFILESCURRENT = 'SystemCurrentControlSetHardware ProfilesCurrent';
  189.   {$EXTERNALSYM REGSTR_PATH_HWPROFILESCURRENT}
  190.   REGSTR_PATH_CLASS_NT          = 'SystemCurrentControlSetControlClass';
  191.   {$EXTERNALSYM REGSTR_PATH_CLASS_NT}
  192.   REGSTR_PATH_PER_HW_ID_STORAGE = 'SoftwareMicrosoftWindows NTCurrentVersionPerHwIdStorage';
  193.   {$EXTERNALSYM REGSTR_PATH_PER_HW_ID_STORAGE}
  194.   REGSTR_PATH_DEVICE_CLASSES = 'SystemCurrentControlSetControlDeviceClasses';
  195.   {$EXTERNALSYM REGSTR_PATH_DEVICE_CLASSES}
  196.   REGSTR_PATH_CODEVICEINSTALLERS = 'SystemCurrentControlSetControlCoDeviceInstallers';
  197.   {$EXTERNALSYM REGSTR_PATH_CODEVICEINSTALLERS}
  198.   REGSTR_PATH_BUSINFORMATION     = 'SystemCurrentControlSetControlPnPBusInformation';
  199.   {$EXTERNALSYM REGSTR_PATH_BUSINFORMATION}
  200.   REGSTR_PATH_SERVICES  = 'SystemCurrentControlSetServices';
  201.   {$EXTERNALSYM REGSTR_PATH_SERVICES}
  202.   REGSTR_PATH_VXD       = 'SystemCurrentControlSetServicesVxD';
  203.   {$EXTERNALSYM REGSTR_PATH_VXD}
  204.   REGSTR_PATH_IOS       = 'SystemCurrentControlSetServicesVxDIOS';
  205.   {$EXTERNALSYM REGSTR_PATH_IOS}
  206.   REGSTR_PATH_VMM       = 'SystemCurrentControlSetServicesVxDVMM';
  207.   {$EXTERNALSYM REGSTR_PATH_VMM}
  208.   REGSTR_PATH_VPOWERD   = 'SystemCurrentControlSetServicesVxDVPOWERD';
  209.   {$EXTERNALSYM REGSTR_PATH_VPOWERD}
  210.   REGSTR_PATH_VNETSUP   = 'SystemCurrentControlSetServicesVxDVNETSUP';
  211.   {$EXTERNALSYM REGSTR_PATH_VNETSUP}
  212.   REGSTR_PATH_NWREDIR   = 'SystemCurrentControlSetServicesVxDNWREDIR';
  213.   {$EXTERNALSYM REGSTR_PATH_NWREDIR}
  214.   REGSTR_PATH_NCPSERVER = 'SystemCurrentControlSetServicesNcpServerParameters';
  215.   {$EXTERNALSYM REGSTR_PATH_NCPSERVER}
  216.   REGSTR_PATH_VCOMM     = 'SystemCurrentControlSetServicesVxDVCOMM';
  217.   {$EXTERNALSYM REGSTR_PATH_VCOMM}
  218.   REGSTR_PATH_IOARB   = 'SystemCurrentControlSetServicesArbitratorsIOArb';
  219.   {$EXTERNALSYM REGSTR_PATH_IOARB}
  220.   REGSTR_PATH_ADDRARB = 'SystemCurrentControlSetServicesArbitratorsAddrArb';
  221.   {$EXTERNALSYM REGSTR_PATH_ADDRARB}
  222.   REGSTR_PATH_DMAARB  = 'SystemCurrentControlSetServicesArbitratorsDMAArb';
  223.   {$EXTERNALSYM REGSTR_PATH_DMAARB}
  224.   REGSTR_PATH_IRQARB  = 'SystemCurrentControlSetServicesArbitratorsIRQArb';
  225.   {$EXTERNALSYM REGSTR_PATH_IRQARB}
  226.   REGSTR_PATH_CODEPAGE              = 'SystemCurrentControlSetControlNlsCodepage';
  227.   {$EXTERNALSYM REGSTR_PATH_CODEPAGE}
  228.   REGSTR_PATH_FILESYSTEM            = 'SystemCurrentControlSetControlFileSystem';
  229.   {$EXTERNALSYM REGSTR_PATH_FILESYSTEM}
  230.   REGSTR_PATH_FILESYSTEM_NOVOLTRACK = 'SystemCurrentControlSetControlFileSystemNoVolTrack';
  231.   {$EXTERNALSYM REGSTR_PATH_FILESYSTEM_NOVOLTRACK}
  232.   REGSTR_PATH_CDFS                  = 'SystemCurrentControlSetControlFileSystemCDFS';
  233.   {$EXTERNALSYM REGSTR_PATH_CDFS}
  234.   REGSTR_PATH_WINBOOT               = 'SystemCurrentControlSetControlWinBoot';
  235.   {$EXTERNALSYM REGSTR_PATH_WINBOOT}
  236.   REGSTR_PATH_INSTALLEDFILES        = 'SystemCurrentControlSetControlInstalledFiles';
  237.   {$EXTERNALSYM REGSTR_PATH_INSTALLEDFILES}
  238.   REGSTR_PATH_VMM32FILES            = 'SystemCurrentControlSetControlVMM32Files';
  239.   {$EXTERNALSYM REGSTR_PATH_VMM32FILES}
  240. //
  241. // Reasonable Limit for Values Names
  242. //
  243.   REGSTR_MAX_VALUE_LENGTH = 256;
  244.   {$EXTERNALSYM REGSTR_MAX_VALUE_LENGTH}
  245. //
  246. // Values used by user mode Pnp Manager
  247. //
  248.   REGSTR_KEY_DEVICE_PROPERTIES          = 'Properties';
  249.   {$EXTERNALSYM REGSTR_KEY_DEVICE_PROPERTIES}
  250.   REGSTR_VAL_SLOTNUMBER                 = 'SlotNumber';
  251.   {$EXTERNALSYM REGSTR_VAL_SLOTNUMBER}
  252.   REGSTR_VAL_ATTACHEDCOMPONENTS         = 'AttachedComponents';
  253.   {$EXTERNALSYM REGSTR_VAL_ATTACHEDCOMPONENTS}
  254.   REGSTR_VAL_BASEDEVICEPATH             = 'BaseDevicePath';
  255.   {$EXTERNALSYM REGSTR_VAL_BASEDEVICEPATH}
  256.   REGSTR_VAL_SYSTEMBUSNUMBER            = 'SystemBusNumber';
  257.   {$EXTERNALSYM REGSTR_VAL_SYSTEMBUSNUMBER}
  258.   REGSTR_VAL_BUSDATATYPE                = 'BusDataType';
  259.   {$EXTERNALSYM REGSTR_VAL_BUSDATATYPE}
  260.   REGSTR_VAL_INTERFACETYPE              = 'InterfaceType';
  261.   {$EXTERNALSYM REGSTR_VAL_INTERFACETYPE}
  262.   REGSTR_VAL_SERVICE                    = 'Service';
  263.   {$EXTERNALSYM REGSTR_VAL_SERVICE}
  264.   REGSTR_VAL_DETECTSIGNATURE            = 'DetectSignature';
  265.   {$EXTERNALSYM REGSTR_VAL_DETECTSIGNATURE}
  266.   REGSTR_VAL_CLASSGUID                  = 'ClassGUID';
  267.   {$EXTERNALSYM REGSTR_VAL_CLASSGUID}
  268.   REGSTR_VAL_INSTANCEIDENTIFIER         = 'InstanceIdentifier';
  269.   {$EXTERNALSYM REGSTR_VAL_INSTANCEIDENTIFIER}
  270.   REGSTR_VAL_DUPLICATEOF                = 'DuplicateOf';
  271.   {$EXTERNALSYM REGSTR_VAL_DUPLICATEOF}
  272.   REGSTR_VAL_STATUSFLAGS                = 'StatusFlags';
  273.   {$EXTERNALSYM REGSTR_VAL_STATUSFLAGS}
  274.   REGSTR_VAL_DISABLECOUNT               = 'DisableCount';
  275.   {$EXTERNALSYM REGSTR_VAL_DISABLECOUNT}
  276.   REGSTR_VAL_UNKNOWNPROBLEMS            = 'UnknownProblem';
  277.   {$EXTERNALSYM REGSTR_VAL_UNKNOWNPROBLEMS}
  278.   REGSTR_VAL_DOCKSTATE                  = 'DockState';
  279.   {$EXTERNALSYM REGSTR_VAL_DOCKSTATE}
  280.   REGSTR_VAL_PREFERENCEORDER            = 'PreferenceOrder';
  281.   {$EXTERNALSYM REGSTR_VAL_PREFERENCEORDER}
  282.   REGSTR_VAL_USERWAITINTERVAL           = 'UserWaitInterval';
  283.   {$EXTERNALSYM REGSTR_VAL_USERWAITINTERVAL}
  284.   REGSTR_VAL_DEVICE_INSTANCE            = 'DeviceInstance';
  285.   {$EXTERNALSYM REGSTR_VAL_DEVICE_INSTANCE}
  286.   REGSTR_VAL_SYMBOLIC_LINK              = 'SymbolicLink';
  287.   {$EXTERNALSYM REGSTR_VAL_SYMBOLIC_LINK}
  288.   REGSTR_VAL_DEFAULT                    = 'Default';
  289.   {$EXTERNALSYM REGSTR_VAL_DEFAULT}
  290.   REGSTR_VAL_LOWERFILTERS               = 'LowerFilters';
  291.   {$EXTERNALSYM REGSTR_VAL_LOWERFILTERS}
  292.   REGSTR_VAL_UPPERFILTERS               = 'UpperFilters';
  293.   {$EXTERNALSYM REGSTR_VAL_UPPERFILTERS}
  294.   REGSTR_VAL_LOCATION_INFORMATION       = 'LocationInformation';
  295.   {$EXTERNALSYM REGSTR_VAL_LOCATION_INFORMATION}
  296.   REGSTR_VAL_UI_NUMBER                  = 'UINumber';
  297.   {$EXTERNALSYM REGSTR_VAL_UI_NUMBER}
  298.   REGSTR_VAL_UI_NUMBER_DESC_FORMAT      = 'UINumberDescFormat';
  299.   {$EXTERNALSYM REGSTR_VAL_UI_NUMBER_DESC_FORMAT}
  300.   REGSTR_VAL_CAPABILITIES               = 'Capabilities';
  301.   {$EXTERNALSYM REGSTR_VAL_CAPABILITIES}
  302.   REGSTR_VAL_DEVICE_TYPE                = 'DeviceType';
  303.   {$EXTERNALSYM REGSTR_VAL_DEVICE_TYPE}
  304.   REGSTR_VAL_DEVICE_CHARACTERISTICS     = 'DeviceCharacteristics';
  305.   {$EXTERNALSYM REGSTR_VAL_DEVICE_CHARACTERISTICS}
  306.   REGSTR_VAL_DEVICE_SECURITY_DESCRIPTOR = 'Security';
  307.   {$EXTERNALSYM REGSTR_VAL_DEVICE_SECURITY_DESCRIPTOR}
  308.   REGSTR_VAL_DEVICE_EXCLUSIVE           = 'Exclusive';
  309.   {$EXTERNALSYM REGSTR_VAL_DEVICE_EXCLUSIVE}
  310.   REGSTR_VAL_RESOURCE_PICKER_TAGS       = 'ResourcePickerTags';
  311.   {$EXTERNALSYM REGSTR_VAL_RESOURCE_PICKER_TAGS}
  312.   REGSTR_VAL_RESOURCE_PICKER_EXCEPTIONS = 'ResourcePickerExceptions';
  313.   {$EXTERNALSYM REGSTR_VAL_RESOURCE_PICKER_EXCEPTIONS}
  314.   REGSTR_VAL_CUSTOM_PROPERTY_CACHE_DATE = 'CustomPropertyCacheDate';
  315.   {$EXTERNALSYM REGSTR_VAL_CUSTOM_PROPERTY_CACHE_DATE}
  316.   REGSTR_VAL_CUSTOM_PROPERTY_HW_ID_KEY  = 'CustomPropertyHwIdKey';
  317.   {$EXTERNALSYM REGSTR_VAL_CUSTOM_PROPERTY_HW_ID_KEY}
  318.   REGSTR_VAL_LAST_UPDATE_TIME           = 'LastUpdateTime';
  319.   {$EXTERNALSYM REGSTR_VAL_LAST_UPDATE_TIME}
  320. //
  321. // Values used by kernel mode Pnp Manager
  322. //
  323.   REGSTR_VALUE_DEVICE_OBJECT_NAME   = 'DeviceObjectName';
  324.   {$EXTERNALSYM REGSTR_VALUE_DEVICE_OBJECT_NAME}
  325.   REGSTR_VALUE_DEVICE_SYMBOLIC_NAME = 'DeviceSymbolicName';
  326.   {$EXTERNALSYM REGSTR_VALUE_DEVICE_SYMBOLIC_NAME}
  327.   REGSTR_VAL_EJECT_PRIORITY         = 'EjectPriority';
  328. //
  329. // Values used by both kernel-mode and user-mode PnP Managers
  330. //
  331.   REGSTR_KEY_CONTROL              = 'Control';
  332.   {$EXTERNALSYM REGSTR_KEY_CONTROL}
  333.   REGSTR_VAL_ACTIVESERVICE        = 'ActiveService';
  334.   {$EXTERNALSYM REGSTR_VAL_ACTIVESERVICE}
  335.   REGSTR_VAL_LINKED               = 'Linked';
  336.   {$EXTERNALSYM REGSTR_VAL_LINKED}
  337.   REGSTR_VAL_PHYSICALDEVICEOBJECT = 'PhysicalDeviceObject';
  338.   {$EXTERNALSYM REGSTR_VAL_PHYSICALDEVICEOBJECT}
  339.   REGSTR_VAL_REMOVAL_POLICY       = 'RemovalPolicy';
  340.   {$EXTERNALSYM REGSTR_VAL_REMOVAL_POLICY}
  341. //
  342. // Values under REGSTR_PATH_NT_CURRENTVERSION
  343. //
  344.   REGSTR_VAL_CURRENT_VERSION    = 'CurrentVersion';
  345.   {$EXTERNALSYM REGSTR_VAL_CURRENT_VERSION}
  346.   REGSTR_VAL_CURRENT_BUILD      = 'CurrentBuildNumber';
  347.   {$EXTERNALSYM REGSTR_VAL_CURRENT_BUILD}
  348.   REGSTR_VAL_CURRENT_CSDVERSION = 'CSDVersion';
  349.   {$EXTERNALSYM REGSTR_VAL_CURRENT_CSDVERSION}
  350.   REGSTR_VAL_CURRENT_TYPE       = 'CurrentType';
  351.   {$EXTERNALSYM REGSTR_VAL_CURRENT_TYPE}
  352. //
  353. // Values under REGSTR_PATH_DISPLAYSETTINGS
  354. //
  355.   REGSTR_VAL_BITSPERPIXEL = 'BitsPerPixel';
  356.   {$EXTERNALSYM REGSTR_VAL_BITSPERPIXEL}
  357.   REGSTR_VAL_RESOLUTION   = 'Resolution';
  358.   {$EXTERNALSYM REGSTR_VAL_RESOLUTION}
  359.   REGSTR_VAL_DPILOGICALX  = 'DPILogicalX';
  360.   {$EXTERNALSYM REGSTR_VAL_DPILOGICALX}
  361.   REGSTR_VAL_DPILOGICALY  = 'DPILogicalY';
  362.   {$EXTERNALSYM REGSTR_VAL_DPILOGICALY}
  363.   REGSTR_VAL_DPIPHYSICALX = 'DPIPhysicalX';
  364.   {$EXTERNALSYM REGSTR_VAL_DPIPHYSICALX}
  365.   REGSTR_VAL_DPIPHYSICALY = 'DPIPhysicalY';
  366.   {$EXTERNALSYM REGSTR_VAL_DPIPHYSICALY}
  367.   REGSTR_VAL_REFRESHRATE  = 'RefreshRate';
  368.   {$EXTERNALSYM REGSTR_VAL_REFRESHRATE}
  369.   REGSTR_VAL_DISPLAYFLAGS = 'DisplayFlags';
  370.   {$EXTERNALSYM REGSTR_VAL_DISPLAYFLAGS}
  371. // under HKEY_CURRENT_USER
  372.   REGSTR_PATH_CONTROLPANEL = 'Control Panel';
  373.   {$EXTERNALSYM REGSTR_PATH_CONTROLPANEL}
  374. // under HKEY_LOCAL_MACHINE
  375.   REGSTR_PATH_CONTROLSFOLDER = 'SoftwareMicrosoftWindowsCurrentVersionControls Folder';
  376.   {$EXTERNALSYM REGSTR_PATH_CONTROLSFOLDER}
  377. //
  378. // Entries under REGSTR_PATH_CODEPAGE
  379. //
  380.   REGSTR_VAL_DOSCP = 'OEMCP';
  381.   {$EXTERNALSYM REGSTR_VAL_DOSCP}
  382.   REGSTR_VAL_WINCP = 'ACP';
  383.   {$EXTERNALSYM REGSTR_VAL_WINCP}
  384.   REGSTR_PATH_DYNA_ENUM = 'Config ManagerEnum';
  385.   {$EXTERNALSYM REGSTR_PATH_DYNA_ENUM}
  386. //
  387. // Entries under REGSTR_PATH_DYNA_ENUM
  388. //
  389.   REGSTR_VAL_HARDWARE_KEY = 'HardWareKey';
  390.   {$EXTERNALSYM REGSTR_VAL_HARDWARE_KEY}
  391.   REGSTR_VAL_ALLOCATION   = 'Allocation';
  392.   {$EXTERNALSYM REGSTR_VAL_ALLOCATION}
  393.   REGSTR_VAL_PROBLEM      = 'Problem';
  394.   {$EXTERNALSYM REGSTR_VAL_PROBLEM}
  395.   REGSTR_VAL_STATUS       = 'Status';
  396.   {$EXTERNALSYM REGSTR_VAL_STATUS}
  397. //
  398. //  Used by address arbitrator
  399. //
  400.   REGSTR_VAL_DONTUSEMEM = 'DontAllocLastMem';
  401.   {$EXTERNALSYM REGSTR_VAL_DONTUSEMEM}
  402. //
  403. //  Entries under REGSTR_PATH_SETUP
  404. //
  405.   REGSTR_VAL_SYSTEMROOT      = 'SystemRoot';
  406.   {$EXTERNALSYM REGSTR_VAL_SYSTEMROOT}
  407.   REGSTR_VAL_BOOTCOUNT       = 'BootCount';
  408.   {$EXTERNALSYM REGSTR_VAL_BOOTCOUNT}
  409.   REGSTR_VAL_REALNETSTART    = 'RealNetStart';
  410.   {$EXTERNALSYM REGSTR_VAL_REALNETSTART}
  411.   REGSTR_VAL_MEDIA           = 'MediaPath';
  412.   {$EXTERNALSYM REGSTR_VAL_MEDIA}
  413.   REGSTR_VAL_CONFIG          = 'ConfigPath';
  414.   {$EXTERNALSYM REGSTR_VAL_CONFIG}
  415.   REGSTR_VAL_DEVICEPATH      = 'DevicePath'; // default search path for .INFs
  416.   {$EXTERNALSYM REGSTR_VAL_DEVICEPATH}
  417.   REGSTR_VAL_SRCPATH         = 'SourcePath'; // last source files path during setup.
  418.   {$EXTERNALSYM REGSTR_VAL_SRCPATH}
  419.   REGSTR_VAL_SVCPAKSRCPATH   = 'ServicePackSourcePath'; // last service pack source path
  420.   {$EXTERNALSYM REGSTR_VAL_SVCPAKSRCPATH}
  421.   REGSTR_VAL_DRIVERCACHEPATH = 'DriverCachePath'; // location of driver cache
  422.   {$EXTERNALSYM REGSTR_VAL_DRIVERCACHEPATH}
  423.   REGSTR_VAL_OLDWINDIR            = 'OldWinDir'; // old windows location
  424.   {$EXTERNALSYM REGSTR_VAL_OLDWINDIR}
  425.   REGSTR_VAL_SETUPFLAGS           = 'SetupFlags'; // flags that setup passes on after install.
  426.   {$EXTERNALSYM REGSTR_VAL_SETUPFLAGS}
  427.   REGSTR_VAL_REGOWNER             = 'RegisteredOwner';
  428.   {$EXTERNALSYM REGSTR_VAL_REGOWNER}
  429.   REGSTR_VAL_REGORGANIZATION      = 'RegisteredOrganization';
  430.   {$EXTERNALSYM REGSTR_VAL_REGORGANIZATION}
  431.   REGSTR_VAL_LICENSINGINFO        = 'LicensingInfo';
  432.   {$EXTERNALSYM REGSTR_VAL_LICENSINGINFO}
  433.   REGSTR_VAL_OLDMSDOSVER          = 'OldMSDOSVer'; // will be DOS ver < 7 (when Setup run)
  434.   {$EXTERNALSYM REGSTR_VAL_OLDMSDOSVER}
  435.   REGSTR_VAL_FIRSTINSTALLDATETIME = 'FirstInstallDateTime'; // will Win 95 install date-time
  436.   {$EXTERNALSYM REGSTR_VAL_FIRSTINSTALLDATETIME}
  437.   REGSTR_VAL_INSTALLTYPE = 'InstallType';
  438.   {$EXTERNALSYM REGSTR_VAL_INSTALLTYPE}
  439.   //  Values for InstallType
  440.   IT_COMPACT         = $0000;
  441.   {$EXTERNALSYM IT_COMPACT}
  442.   IT_TYPICAL         = $0001;
  443.   {$EXTERNALSYM IT_TYPICAL}
  444.   IT_PORTABLE        = $0002;
  445.   {$EXTERNALSYM IT_PORTABLE}
  446.   IT_CUSTOM          = $0003;
  447.   {$EXTERNALSYM IT_CUSTOM}
  448.   REGSTR_VAL_WRAPPER = 'Wrapper';
  449.   {$EXTERNALSYM REGSTR_VAL_WRAPPER}
  450.   REGSTR_VAL_LASTALIVEINTERVAL = 'TimeStampInterval';
  451.   {$EXTERNALSYM REGSTR_VAL_LASTALIVEINTERVAL}
  452.   REGSTR_VAL_LASTALIVESTAMP    = 'LastAliveStamp';
  453.   {$EXTERNALSYM REGSTR_VAL_LASTALIVESTAMP}
  454.   REGSTR_VAL_LASTALIVEUPTIME   =  TEXT('LastAliveUptime');
  455.   {$EXTERNALSYM REGSTR_VAL_LASTALIVEUPTIME}
  456.   REGSTR_VAL_SHUTDOWNREASON    = 'ShutdownReason';
  457.   {$EXTERNALSYM REGSTR_VAL_SHUTDOWNREASON}
  458.   REGSTR_VAL_SHUTDOWNREASON_CODE        = 'ShutdownReasonCode';
  459.   {$EXTERNALSYM REGSTR_VAL_SHUTDOWNREASON_CODE}
  460.   REGSTR_VAL_SHUTDOWNREASON_COMMENT     = 'ShutdownReasonComment';
  461.   {$EXTERNALSYM REGSTR_VAL_SHUTDOWNREASON_COMMENT}
  462.   REGSTR_VAL_SHUTDOWNREASON_PROCESS     = 'ShutdownReasonProcess';
  463.   {$EXTERNALSYM REGSTR_VAL_SHUTDOWNREASON_PROCESS}
  464.   REGSTR_VAL_SHUTDOWNREASON_USERNAME    = 'ShutdownReasonUserName';
  465.   {$EXTERNALSYM REGSTR_VAL_SHUTDOWNREASON_USERNAME}
  466.   REGSTR_VAL_SHOWREASONUI               = 'ShutdownReasonUI';
  467.   {$EXTERNALSYM REGSTR_VAL_SHOWREASONUI}
  468.   REGSTR_VAL_SHUTDOWN_IGNORE_PREDEFINED = 'ShutdownIgnorePredefinedReasons';
  469.   {$EXTERNALSYM REGSTR_VAL_SHUTDOWN_IGNORE_PREDEFINED}
  470.   REGSTR_VAL_SHUTDOWN_STATE_SNAPSHOT = 'ShutdownStateSnapshot';
  471.   {$EXTERNALSYM REGSTR_VAL_SHUTDOWN_STATE_SNAPSHOT}
  472.   REGSTR_KEY_SETUP      = 'Setup';
  473.   {$EXTERNALSYM REGSTR_KEY_SETUP}
  474.   REGSTR_VAL_BOOTDIR    = 'BootDir';
  475.   {$EXTERNALSYM REGSTR_VAL_BOOTDIR}
  476.   REGSTR_VAL_WINBOOTDIR = 'WinbootDir';
  477.   {$EXTERNALSYM REGSTR_VAL_WINBOOTDIR}
  478.   REGSTR_VAL_WINDIR     = 'WinDir';
  479.   {$EXTERNALSYM REGSTR_VAL_WINDIR}
  480.   REGSTR_VAL_APPINSTPATH = 'AppInstallPath'; // Used by install wizard
  481.   {$EXTERNALSYM REGSTR_VAL_APPINSTPATH}
  482. // Values for international startup disk
  483.   REGSTR_PATH_EBD = REGSTR_PATH_SETUP + REGSTR_KEY_SETUP + 'EBD';
  484.   {$EXTERNALSYM REGSTR_PATH_EBD}
  485. // Keys under REGSTR_KEY_EBD
  486.   REGSTR_KEY_EBDFILESLOCAL          = 'EBDFilesLocale';
  487.   {$EXTERNALSYM REGSTR_KEY_EBDFILESLOCAL}
  488.   REGSTR_KEY_EBDFILESKEYBOARD       = 'EBDFilesKeyboard';
  489.   {$EXTERNALSYM REGSTR_KEY_EBDFILESKEYBOARD}
  490.   REGSTR_KEY_EBDAUTOEXECBATLOCAL    = 'EBDAutoexecBatLocale';
  491.   {$EXTERNALSYM REGSTR_KEY_EBDAUTOEXECBATLOCAL}
  492.   REGSTR_KEY_EBDAUTOEXECBATKEYBOARD = 'EBDAutoexecBatKeyboard';
  493.   {$EXTERNALSYM REGSTR_KEY_EBDAUTOEXECBATKEYBOARD}
  494.   REGSTR_KEY_EBDCONFIGSYSLOCAL      = 'EBDConfigSysLocale';
  495.   {$EXTERNALSYM REGSTR_KEY_EBDCONFIGSYSLOCAL}
  496.   REGSTR_KEY_EBDCONFIGSYSKEYBOARD   = 'EBDConfigSysKeyboard';
  497.   {$EXTERNALSYM REGSTR_KEY_EBDCONFIGSYSKEYBOARD}
  498. // Values under REGSTR_PATH_DRIVERSIGN and REGSTR_PATH_NONDRIVERSIGN
  499.   REGSTR_VAL_POLICY = 'Policy';
  500.   {$EXTERNALSYM REGSTR_VAL_POLICY}
  501. // Values under REGSTR_PATH_DRIVERSIGN_POLICY and REGSTR_PATH_NONDRIVERSIGN_POLICY
  502.   REGSTR_VAL_BEHAVIOR_ON_FAILED_VERIFY = 'BehaviorOnFailedVerify';
  503.   {$EXTERNALSYM REGSTR_VAL_BEHAVIOR_ON_FAILED_VERIFY}
  504. // Types of driver signing policies (apply to both preference and policy values
  505. // defined above)
  506.   DRIVERSIGN_NONE     = $00000000;
  507.   {$EXTERNALSYM DRIVERSIGN_NONE}
  508.   DRIVERSIGN_WARNING  = $00000001;
  509.   {$EXTERNALSYM DRIVERSIGN_WARNING}
  510.   DRIVERSIGN_BLOCKING = $00000002;
  511.   {$EXTERNALSYM DRIVERSIGN_BLOCKING}
  512. //
  513. //  Entries under REGSTR_PATH_PIFCONVERT
  514. //
  515.   REGSTR_VAL_MSDOSMODE        = 'MSDOSMode';
  516.   {$EXTERNALSYM REGSTR_VAL_MSDOSMODE}
  517.   REGSTR_VAL_MSDOSMODEDISCARD = 'Discard';
  518.   {$EXTERNALSYM REGSTR_VAL_MSDOSMODEDISCARD}
  519. //
  520. //  Entries under REGSTR_PATH_MSDOSOPTS (global settings)
  521. //
  522.   REGSTR_VAL_DOSOPTGLOBALFLAGS = 'GlobalFlags';
  523.   {$EXTERNALSYM REGSTR_VAL_DOSOPTGLOBALFLAGS}
  524. //  Flags for GlobalFlags
  525.   DOSOPTGF_DEFCLEAN = $00000001; // Default action is clean config
  526.   {$EXTERNALSYM DOSOPTGF_DEFCLEAN}
  527. //
  528. //  Entries under REGSTR_PATH_MSDOSOPTS  OptionSubkey
  529. //
  530.   REGSTR_VAL_DOSOPTFLAGS  = 'Flags';
  531.   {$EXTERNALSYM REGSTR_VAL_DOSOPTFLAGS}
  532.   REGSTR_VAL_OPTORDER     = 'Order';
  533.   {$EXTERNALSYM REGSTR_VAL_OPTORDER}
  534.   REGSTR_VAL_CONFIGSYS    = 'Config.Sys';
  535.   {$EXTERNALSYM REGSTR_VAL_CONFIGSYS}
  536.   REGSTR_VAL_AUTOEXEC     = 'Autoexec.Bat';
  537.   {$EXTERNALSYM REGSTR_VAL_AUTOEXEC}
  538.   REGSTR_VAL_STDDOSOPTION = 'StdOption';
  539.   {$EXTERNALSYM REGSTR_VAL_STDDOSOPTION}
  540.   REGSTR_VAL_DOSOPTTIP    = 'TipText';
  541.   {$EXTERNALSYM REGSTR_VAL_DOSOPTTIP}
  542. //  Flags for DOSOPTFLAGS
  543.   DOSOPTF_DEFAULT     = $00000001; // Default enabled for clean config
  544.   {$EXTERNALSYM DOSOPTF_DEFAULT}
  545.   DOSOPTF_SUPPORTED   = $00000002; // Option actually supported
  546.   {$EXTERNALSYM DOSOPTF_SUPPORTED}
  547.   DOSOPTF_ALWAYSUSE   = $00000004; // Always use this option
  548.   {$EXTERNALSYM DOSOPTF_ALWAYSUSE}
  549.   DOSOPTF_USESPMODE   = $00000008; // Option puts machine in Prot Mode
  550.   {$EXTERNALSYM DOSOPTF_USESPMODE}
  551.   DOSOPTF_PROVIDESUMB = $00000010; // Can load drivers high
  552.   {$EXTERNALSYM DOSOPTF_PROVIDESUMB}
  553.   DOSOPTF_NEEDSETUP   = $00000020; // Need to configure option
  554.   {$EXTERNALSYM DOSOPTF_NEEDSETUP}
  555.   DOSOPTF_INDOSSTART  = $00000040; // Suppored by DOSSTART.BAT
  556.   {$EXTERNALSYM DOSOPTF_INDOSSTART}
  557.   DOSOPTF_MULTIPLE    = $00000080; // Load multiple configuration lines
  558.   {$EXTERNALSYM DOSOPTF_MULTIPLE}
  559. //
  560. //  Flags returned by SUGetSetSetupFlags and in the registry
  561. //
  562.   SUF_FIRSTTIME  = $00000001; // First boot into Win95.
  563.   {$EXTERNALSYM SUF_FIRSTTIME}
  564.   SUF_EXPRESS    = $00000002; // User Setup via express mode (vs customize).
  565.   {$EXTERNALSYM SUF_EXPRESS}
  566.   SUF_BATCHINF   = $00000004; // Setup using batch file (MSBATCH.INF).
  567.   {$EXTERNALSYM SUF_BATCHINF}
  568.   SUF_CLEAN      = $00000008; // Setup was done to a clean directory.
  569.   {$EXTERNALSYM SUF_CLEAN}
  570.   SUF_INSETUP    = $00000010; // You're in Setup.
  571.   {$EXTERNALSYM SUF_INSETUP}
  572.   SUF_NETSETUP   = $00000020; // Doing a net (workstation) setup.
  573.   {$EXTERNALSYM SUF_NETSETUP}
  574.   SUF_NETHDBOOT  = $00000040; // Workstation boots from local harddrive
  575.   {$EXTERNALSYM SUF_NETHDBOOT}
  576.   SUF_NETRPLBOOT = $00000080; // Workstation boots via RPL (vs floppy)
  577.   {$EXTERNALSYM SUF_NETRPLBOOT}
  578.   SUF_SBSCOPYOK  = $00000100; // Can copy to LDID_SHARED (SBS)
  579.   {$EXTERNALSYM SUF_SBSCOPYOK}
  580. //
  581. //  Entries under REGSTR_PATH_VMM
  582. //
  583.   REGSTR_VAL_DOSPAGER  = 'DOSPager';
  584.   {$EXTERNALSYM REGSTR_VAL_DOSPAGER}
  585.   REGSTR_VAL_VXDGROUPS = 'VXDGroups';
  586.   {$EXTERNALSYM REGSTR_VAL_VXDGROUPS}
  587. //
  588. //  Entries under REGSTR_PATH_VPOWERD
  589. //
  590.   REGSTR_VAL_VPOWERDFLAGS   = 'Flags';
  591.   {$EXTERNALSYM REGSTR_VAL_VPOWERDFLAGS}
  592.   VPDF_DISABLEPWRMGMT       = $00000001; // Don't load device
  593.   {$EXTERNALSYM VPDF_DISABLEPWRMGMT}
  594.   VPDF_FORCEAPM10MODE       = $00000002; // Always go into 1.0 mode
  595.   {$EXTERNALSYM VPDF_FORCEAPM10MODE}
  596.   VPDF_SKIPINTELSLCHECK     = $00000004; // Don't detect Intel SL chipset
  597.   {$EXTERNALSYM VPDF_SKIPINTELSLCHECK}
  598.   VPDF_DISABLEPWRSTATUSPOLL = $00000008; // Don't poll power status
  599.   {$EXTERNALSYM VPDF_DISABLEPWRSTATUSPOLL}
  600.   VPDF_DISABLERINGRESUME    = $00000010; // Don't let the modem wake the machine (APM 1.2 only)
  601.   {$EXTERNALSYM VPDF_DISABLERINGRESUME}
  602.   VPDF_SHOWMULTIBATT        = $00000020; // Show all batteries checkbox in power control panel
  603.   {$EXTERNALSYM VPDF_SHOWMULTIBATT}
  604. //
  605. // Entries under REGSTR_PATH_BUSINFORMATION
  606. //
  607.   BIF_SHOWSIMILARDRIVERS     = $00000001;  // Show similar drivers instead of all class drivers in UI.
  608.   {$EXTERNALSYM BIF_SHOWSIMILARDRIVERS}
  609.   BIF_RAWDEVICENEEDSDRIVER   = $00000002;  // RAW device needs a driver installed.
  610.   {$EXTERNALSYM BIF_RAWDEVICENEEDSDRIVER}
  611. //
  612. //  Entries under REGSTR_PATH_VNETSUP
  613. //
  614.   REGSTR_VAL_WORKGROUP    = 'Workgroup';
  615.   {$EXTERNALSYM REGSTR_VAL_WORKGROUP}
  616.   REGSTR_VAL_DIRECTHOST   = 'DirectHost';
  617.   {$EXTERNALSYM REGSTR_VAL_DIRECTHOST}
  618.   REGSTR_VAL_FILESHARING  = 'FileSharing';
  619.   {$EXTERNALSYM REGSTR_VAL_FILESHARING}
  620.   REGSTR_VAL_PRINTSHARING = 'PrintSharing';
  621.   {$EXTERNALSYM REGSTR_VAL_PRINTSHARING}
  622. //
  623. //  Entries under REGSTR_PATH_NWREDIR
  624. //
  625.   REGSTR_VAL_FIRSTNETDRIVE     = 'FirstNetworkDrive';
  626.   {$EXTERNALSYM REGSTR_VAL_FIRSTNETDRIVE}
  627.   REGSTR_VAL_MAXCONNECTIONS    = 'MaxConnections';
  628.   {$EXTERNALSYM REGSTR_VAL_MAXCONNECTIONS}
  629.   REGSTR_VAL_APISUPPORT        = 'APISupport';
  630.   {$EXTERNALSYM REGSTR_VAL_APISUPPORT}
  631.   REGSTR_VAL_MAXRETRY          = 'MaxRetry';
  632.   {$EXTERNALSYM REGSTR_VAL_MAXRETRY}
  633.   REGSTR_VAL_MINRETRY          = 'MinRetry';
  634.   {$EXTERNALSYM REGSTR_VAL_MINRETRY}
  635.   REGSTR_VAL_SUPPORTLFN        = 'SupportLFN';
  636.   {$EXTERNALSYM REGSTR_VAL_SUPPORTLFN}
  637.   REGSTR_VAL_SUPPORTBURST      = 'SupportBurst';
  638.   {$EXTERNALSYM REGSTR_VAL_SUPPORTBURST}
  639.   REGSTR_VAL_SUPPORTTUNNELLING = 'SupportTunnelling';
  640.   {$EXTERNALSYM REGSTR_VAL_SUPPORTTUNNELLING}
  641.   REGSTR_VAL_FULLTRACE         = 'FullTrace';
  642.   {$EXTERNALSYM REGSTR_VAL_FULLTRACE}
  643.   REGSTR_VAL_READCACHING       = 'ReadCaching';
  644.   {$EXTERNALSYM REGSTR_VAL_READCACHING}
  645.   REGSTR_VAL_SHOWDOTS          = 'ShowDots';
  646.   {$EXTERNALSYM REGSTR_VAL_SHOWDOTS}
  647.   REGSTR_VAL_GAPTIME           = 'GapTime';
  648.   {$EXTERNALSYM REGSTR_VAL_GAPTIME}
  649.   REGSTR_VAL_SEARCHMODE        = 'SearchMode';
  650.   {$EXTERNALSYM REGSTR_VAL_SEARCHMODE}
  651.   REGSTR_VAL_SHELLVERSION      = 'ShellVersion';
  652.   {$EXTERNALSYM REGSTR_VAL_SHELLVERSION}
  653.   REGSTR_VAL_MAXLIP            = 'MaxLIP';
  654.   {$EXTERNALSYM REGSTR_VAL_MAXLIP}
  655.   REGSTR_VAL_PRESERVECASE      = 'PreserveCase';
  656.   {$EXTERNALSYM REGSTR_VAL_PRESERVECASE}
  657.   REGSTR_VAL_OPTIMIZESFN       = 'OptimizeSFN';
  658.   {$EXTERNALSYM REGSTR_VAL_OPTIMIZESFN}
  659. //
  660. //  Entries under REGSTR_PATH_NCPSERVER
  661. //
  662.   REGSTR_VAL_NCP_BROWSEMASTER    = 'BrowseMaster';
  663.   {$EXTERNALSYM REGSTR_VAL_NCP_BROWSEMASTER}
  664.   REGSTR_VAL_NCP_USEPEERBROWSING = 'Use_PeerBrowsing';
  665.   {$EXTERNALSYM REGSTR_VAL_NCP_USEPEERBROWSING}
  666.   REGSTR_VAL_NCP_USESAP          = 'Use_Sap';
  667.   {$EXTERNALSYM REGSTR_VAL_NCP_USESAP}
  668. //
  669. // Entries under REGSTR_PATH_VCOMM
  670. //
  671.   REGSTR_VAL_PCCARD_POWER = 'EnablePowerManagement';
  672.   {$EXTERNALSYM REGSTR_VAL_PCCARD_POWER}
  673. //
  674. //  Entries under REGSTR_PATH_FILESYSTEM
  675. //
  676.   REGSTR_VAL_WIN31FILESYSTEM      = 'Win31FileSystem';
  677.   {$EXTERNALSYM REGSTR_VAL_WIN31FILESYSTEM}
  678.   REGSTR_VAL_PRESERVELONGNAMES    = 'PreserveLongNames';
  679.   {$EXTERNALSYM REGSTR_VAL_PRESERVELONGNAMES}
  680.   REGSTR_VAL_DRIVEWRITEBEHIND     = 'DriveWriteBehind';
  681.   {$EXTERNALSYM REGSTR_VAL_DRIVEWRITEBEHIND}
  682.   REGSTR_VAL_ASYNCFILECOMMIT      = 'AsyncFileCommit';
  683.   {$EXTERNALSYM REGSTR_VAL_ASYNCFILECOMMIT}
  684.   REGSTR_VAL_PATHCACHECOUNT       = 'PathCache';
  685.   {$EXTERNALSYM REGSTR_VAL_PATHCACHECOUNT}
  686.   REGSTR_VAL_NAMECACHECOUNT       = 'NameCache';
  687.   {$EXTERNALSYM REGSTR_VAL_NAMECACHECOUNT}
  688.   REGSTR_VAL_CONTIGFILEALLOC      = 'ContigFileAllocSize';
  689.   {$EXTERNALSYM REGSTR_VAL_CONTIGFILEALLOC}
  690.   REGSTR_VAL_FREESPACERATIO       = 'FreeSpaceRatio';
  691.   {$EXTERNALSYM REGSTR_VAL_FREESPACERATIO}
  692.   REGSTR_VAL_VOLIDLETIMEOUT       = 'VolumeIdleTimeout';
  693.   {$EXTERNALSYM REGSTR_VAL_VOLIDLETIMEOUT}
  694.   REGSTR_VAL_BUFFIDLETIMEOUT      = 'BufferIdleTimeout';
  695.   {$EXTERNALSYM REGSTR_VAL_BUFFIDLETIMEOUT}
  696.   REGSTR_VAL_BUFFAGETIMEOUT       = 'BufferAgeTimeout';
  697.   {$EXTERNALSYM REGSTR_VAL_BUFFAGETIMEOUT}
  698.   REGSTR_VAL_NAMENUMERICTAIL      = 'NameNumericTail';
  699.   {$EXTERNALSYM REGSTR_VAL_NAMENUMERICTAIL}
  700.   REGSTR_VAL_READAHEADTHRESHOLD   = 'ReadAheadThreshold';
  701.   {$EXTERNALSYM REGSTR_VAL_READAHEADTHRESHOLD}
  702.   REGSTR_VAL_DOUBLEBUFFER         = 'DoubleBuffer';
  703.   {$EXTERNALSYM REGSTR_VAL_DOUBLEBUFFER}
  704.   REGSTR_VAL_SOFTCOMPATMODE       = 'SoftCompatMode';
  705.   {$EXTERNALSYM REGSTR_VAL_SOFTCOMPATMODE}
  706.   REGSTR_VAL_DRIVESPINDOWN        = 'DriveSpinDown';
  707.   {$EXTERNALSYM REGSTR_VAL_DRIVESPINDOWN}
  708.   REGSTR_VAL_FORCEPMIO            = 'ForcePMIO';
  709.   {$EXTERNALSYM REGSTR_VAL_FORCEPMIO}
  710.   REGSTR_VAL_FORCERMIO            = 'ForceRMIO';
  711.   {$EXTERNALSYM REGSTR_VAL_FORCERMIO}
  712.   REGSTR_VAL_LASTBOOTPMDRVS       = 'LastBootPMDrvs';
  713.   {$EXTERNALSYM REGSTR_VAL_LASTBOOTPMDRVS}
  714.   REGSTR_VAL_ACSPINDOWNPREVIOUS   = 'ACSpinDownPrevious';
  715.   {$EXTERNALSYM REGSTR_VAL_ACSPINDOWNPREVIOUS}
  716.   REGSTR_VAL_BATSPINDOWNPREVIOUS  = 'BatSpinDownPrevious';
  717.   {$EXTERNALSYM REGSTR_VAL_BATSPINDOWNPREVIOUS}
  718.   REGSTR_VAL_VIRTUALHDIRQ         = 'VirtualHDIRQ';
  719.   {$EXTERNALSYM REGSTR_VAL_VIRTUALHDIRQ}
  720.   REGSTR_VAL_SRVNAMECACHECOUNT    = 'ServerNameCacheMax';
  721.   {$EXTERNALSYM REGSTR_VAL_SRVNAMECACHECOUNT}
  722.   REGSTR_VAL_SRVNAMECACHE         = 'ServerNameCache';
  723.   {$EXTERNALSYM REGSTR_VAL_SRVNAMECACHE}
  724.   REGSTR_VAL_SRVNAMECACHENETPROV  = 'ServerNameCacheNumNets';
  725.   {$EXTERNALSYM REGSTR_VAL_SRVNAMECACHENETPROV}
  726.   REGSTR_VAL_AUTOMOUNT            = 'AutoMountDrives';
  727.   {$EXTERNALSYM REGSTR_VAL_AUTOMOUNT}
  728.   REGSTR_VAL_COMPRESSIONMETHOD    = 'CompressionAlgorithm';
  729.   {$EXTERNALSYM REGSTR_VAL_COMPRESSIONMETHOD}
  730.   REGSTR_VAL_COMPRESSIONTHRESHOLD = 'CompressionThreshold';
  731.   {$EXTERNALSYM REGSTR_VAL_COMPRESSIONTHRESHOLD}
  732.   REGSTR_VAL_ACDRIVESPINDOWN      = 'ACDriveSpinDown';
  733.   {$EXTERNALSYM REGSTR_VAL_ACDRIVESPINDOWN}
  734.   REGSTR_VAL_BATDRIVESPINDOWN     = 'BatDriveSpinDown';
  735.   {$EXTERNALSYM REGSTR_VAL_BATDRIVESPINDOWN}
  736. //
  737. //      Entries under REGSTR_PATH_FILESYSTEM_NOVOLTRACK
  738. //
  739. //      A sub-key under which a variable number of variable length structures are stored.
  740. //
  741. //      Each structure contains an offset followed by a number of pattern bytes.
  742. //      The pattern in each structure is compared at the specified offset within
  743. //      the boot record at the time a volume is mounted.  If any pattern in this
  744. //      set of patterns matches a pattern already in the boot record, VFAT will not
  745. //      write a volume tracking serial number in the OEM_SerialNum field of the
  746. //      boot record on the volume being mounted.
  747. //
  748. //
  749. //  Entries under REGSTR_PATH_CDFS
  750. //
  751.   REGSTR_VAL_CDCACHESIZE    = 'CacheSize'; // Number of 2K cache sectors
  752.   {$EXTERNALSYM REGSTR_VAL_CDCACHESIZE}
  753.   REGSTR_VAL_CDPREFETCH     = 'Prefetch'; // Number of 2K cache sectors for prefetching
  754.   {$EXTERNALSYM REGSTR_VAL_CDPREFETCH}
  755.   REGSTR_VAL_CDPREFETCHTAIL = 'PrefetchTail'; // Number of LRU1 prefetch sectors
  756.   {$EXTERNALSYM REGSTR_VAL_CDPREFETCHTAIL}
  757.   REGSTR_VAL_CDRAWCACHE     = 'RawCache'; // Number of 2352-byte cache sectors
  758.   {$EXTERNALSYM REGSTR_VAL_CDRAWCACHE}
  759.   REGSTR_VAL_CDEXTERRORS    = 'ExtendedErrors'; // Return extended error codes
  760.   {$EXTERNALSYM REGSTR_VAL_CDEXTERRORS}
  761.   REGSTR_VAL_CDSVDSENSE     = 'SVDSense'; // 0=PVD, 1=Kanji, 2=Unicode
  762.   {$EXTERNALSYM REGSTR_VAL_CDSVDSENSE}
  763.   REGSTR_VAL_CDSHOWVERSIONS = 'ShowVersions'; // Show file version numbers
  764.   {$EXTERNALSYM REGSTR_VAL_CDSHOWVERSIONS}
  765.   REGSTR_VAL_CDCOMPATNAMES  = 'MSCDEXCompatNames'; // Disable Numeric Tails on long file names
  766.   {$EXTERNALSYM REGSTR_VAL_CDCOMPATNAMES}
  767.   REGSTR_VAL_CDNOREADAHEAD  = 'NoReadAhead'; // Disable Read Ahead if set to 1
  768.   {$EXTERNALSYM REGSTR_VAL_CDNOREADAHEAD}
  769. //
  770. //      define values for IOS devices
  771. //
  772.   REGSTR_VAL_SCSI = 'SCSI';
  773.   {$EXTERNALSYM REGSTR_VAL_SCSI}
  774.   REGSTR_VAL_ESDI = 'ESDI';
  775.   {$EXTERNALSYM REGSTR_VAL_ESDI}
  776.   REGSTR_VAL_FLOP = 'FLOP';
  777.   {$EXTERNALSYM REGSTR_VAL_FLOP}
  778. //
  779. // define defs for IOS device types and values for IOS devices
  780. //
  781.   REGSTR_VAL_DISK    = 'GenDisk';
  782.   {$EXTERNALSYM REGSTR_VAL_DISK}
  783.   REGSTR_VAL_CDROM   = 'GenCD';
  784.   {$EXTERNALSYM REGSTR_VAL_CDROM}
  785.   REGSTR_VAL_TAPE    = 'TAPE';
  786.   {$EXTERNALSYM REGSTR_VAL_TAPE}
  787.   REGSTR_VAL_SCANNER = 'SCANNER';
  788.   {$EXTERNALSYM REGSTR_VAL_SCANNER}
  789.   REGSTR_VAL_FLOPPY  = 'FLOPPY';
  790.   {$EXTERNALSYM REGSTR_VAL_FLOPPY}
  791.   REGSTR_VAL_SCSITID      = 'SCSITargetID';
  792.   {$EXTERNALSYM REGSTR_VAL_SCSITID}
  793.   REGSTR_VAL_SCSILUN      = 'SCSILUN';
  794.   {$EXTERNALSYM REGSTR_VAL_SCSILUN}
  795.   REGSTR_VAL_REVLEVEL     = 'RevisionLevel';
  796.   {$EXTERNALSYM REGSTR_VAL_REVLEVEL}
  797.   REGSTR_VAL_PRODUCTID    = 'ProductId';
  798.   {$EXTERNALSYM REGSTR_VAL_PRODUCTID}
  799.   REGSTR_VAL_PRODUCTTYPE  = 'ProductType';
  800.   {$EXTERNALSYM REGSTR_VAL_PRODUCTTYPE}
  801.   REGSTR_VAL_DEVTYPE      = 'DeviceType';
  802.   {$EXTERNALSYM REGSTR_VAL_DEVTYPE}
  803.   REGSTR_VAL_REMOVABLE    = 'Removable';
  804.   {$EXTERNALSYM REGSTR_VAL_REMOVABLE}
  805.   REGSTR_VAL_CURDRVLET    = 'CurrentDriveLetterAssignment';
  806.   {$EXTERNALSYM REGSTR_VAL_CURDRVLET}
  807.   REGSTR_VAL_USRDRVLET    = 'UserDriveLetterAssignment';
  808.   {$EXTERNALSYM REGSTR_VAL_USRDRVLET}
  809.   REGSTR_VAL_SYNCDATAXFER = 'SyncDataXfer';
  810.   {$EXTERNALSYM REGSTR_VAL_SYNCDATAXFER}
  811.   REGSTR_VAL_AUTOINSNOTE  = 'AutoInsertNotification';
  812.   {$EXTERNALSYM REGSTR_VAL_AUTOINSNOTE}
  813.   REGSTR_VAL_DISCONNECT   = 'Disconnect';
  814.   {$EXTERNALSYM REGSTR_VAL_DISCONNECT}
  815.   REGSTR_VAL_INT13        = 'Int13';
  816.   {$EXTERNALSYM REGSTR_VAL_INT13}
  817.   REGSTR_VAL_PMODE_INT13  = 'PModeInt13';
  818.   {$EXTERNALSYM REGSTR_VAL_PMODE_INT13}
  819.   REGSTR_VAL_USERSETTINGS = 'AdapterSettings';
  820.   {$EXTERNALSYM REGSTR_VAL_USERSETTINGS}
  821.   REGSTR_VAL_NOIDE        = 'NoIDE';
  822.   {$EXTERNALSYM REGSTR_VAL_NOIDE}
  823. // The foll. clase name definitions should be the same as in dirkdrv.inx and
  824. // cdrom.inx
  825.   REGSTR_VAL_DISKCLASSNAME  = 'DiskDrive';
  826.   {$EXTERNALSYM REGSTR_VAL_DISKCLASSNAME}
  827.   REGSTR_VAL_CDROMCLASSNAME = 'CDROM';
  828.   {$EXTERNALSYM REGSTR_VAL_CDROMCLASSNAME}
  829. // The foll. value determines whether a port driver should be force loaded
  830. // or not.
  831.   REGSTR_VAL_FORCELOAD = 'ForceLoadPD';
  832.   {$EXTERNALSYM REGSTR_VAL_FORCELOAD}
  833. // The foll. value determines whether or not the FIFO is used on the Floppy
  834. // controller.
  835.   REGSTR_VAL_FORCEFIFO = 'ForceFIFO';
  836.   {$EXTERNALSYM REGSTR_VAL_FORCEFIFO}
  837.   REGSTR_VAL_FORCECL   = 'ForceChangeLine';
  838.   {$EXTERNALSYM REGSTR_VAL_FORCECL}
  839. //
  840. // Generic CLASS Entries
  841. //
  842.   REGSTR_VAL_NOUSECLASS     = 'NoUseClass'; // Don't include this class in PnP functions
  843.   {$EXTERNALSYM REGSTR_VAL_NOUSECLASS}
  844.   REGSTR_VAL_NOINSTALLCLASS = 'NoInstallClass'; // Don't include this class in New Device Wizard
  845.   {$EXTERNALSYM REGSTR_VAL_NOINSTALLCLASS}
  846.   REGSTR_VAL_NODISPLAYCLASS = 'NoDisplayClass'; // Don't include this class in Device Manager
  847.   {$EXTERNALSYM REGSTR_VAL_NODISPLAYCLASS}
  848.   REGSTR_VAL_SILENTINSTALL  = 'SilentInstall'; // Always Silent Install devices of this class.
  849.   {$EXTERNALSYM REGSTR_VAL_SILENTINSTALL}
  850. //
  851. //  Class Names
  852. //
  853.   REGSTR_KEY_PCMCIA_CLASS   = 'PCMCIA'; // child of PATH_CLASS
  854.   {$EXTERNALSYM REGSTR_KEY_PCMCIA_CLASS}
  855.   REGSTR_KEY_SCSI_CLASS     = 'SCSIAdapter';
  856.   {$EXTERNALSYM REGSTR_KEY_SCSI_CLASS}
  857.   REGSTR_KEY_PORTS_CLASS    = 'ports';
  858.   {$EXTERNALSYM REGSTR_KEY_PORTS_CLASS}
  859.   REGSTR_KEY_MEDIA_CLASS    = 'MEDIA';
  860.   {$EXTERNALSYM REGSTR_KEY_MEDIA_CLASS}
  861.   REGSTR_KEY_DISPLAY_CLASS  = 'Display';
  862.   {$EXTERNALSYM REGSTR_KEY_DISPLAY_CLASS}
  863.   REGSTR_KEY_KEYBOARD_CLASS = 'Keyboard';
  864.   {$EXTERNALSYM REGSTR_KEY_KEYBOARD_CLASS}
  865.   REGSTR_KEY_MOUSE_CLASS    = 'Mouse';
  866.   {$EXTERNALSYM REGSTR_KEY_MOUSE_CLASS}
  867.   REGSTR_KEY_MONITOR_CLASS  = 'Monitor';
  868.   {$EXTERNALSYM REGSTR_KEY_MONITOR_CLASS}
  869.   REGSTR_KEY_MODEM_CLASS    = 'Modem';
  870.   {$EXTERNALSYM REGSTR_KEY_MODEM_CLASS}
  871. //
  872. //  Values under PATH_CLASSPCMCIA
  873. //
  874.   REGSTR_VAL_PCMCIA_OPT   = 'Options';
  875.   {$EXTERNALSYM REGSTR_VAL_PCMCIA_OPT}
  876.   PCMCIA_OPT_HAVE_SOCKET  = $00000001;
  877.   {$EXTERNALSYM PCMCIA_OPT_HAVE_SOCKET}
  878.   //PCMCIA_OPT_ENABLED      = $00000002;
  879.   //{$EXTERNALSYM PCMCIA_OPT_ENABLED}
  880.   PCMCIA_OPT_AUTOMEM      = $00000004;
  881.   {$EXTERNALSYM PCMCIA_OPT_AUTOMEM}
  882.   PCMCIA_OPT_NO_SOUND     = $00000008;
  883.   {$EXTERNALSYM PCMCIA_OPT_NO_SOUND}
  884.   PCMCIA_OPT_NO_AUDIO     = $00000010;
  885.   {$EXTERNALSYM PCMCIA_OPT_NO_AUDIO}
  886.   PCMCIA_OPT_NO_APMREMOVE = $00000020;
  887.   {$EXTERNALSYM PCMCIA_OPT_NO_APMREMOVE}
  888.   REGSTR_VAL_PCMCIA_MEM = 'Memory'; // Card services shared mem range
  889.   {$EXTERNALSYM REGSTR_VAL_PCMCIA_MEM}
  890.   PCMCIA_DEF_MEMBEGIN   = $000C0000; // default 0xC0000 - 0x00FFFFFF
  891.   {$EXTERNALSYM PCMCIA_DEF_MEMBEGIN}
  892.   PCMCIA_DEF_MEMEND     = $00FFFFFF; // (0 - 16meg)
  893.   {$EXTERNALSYM PCMCIA_DEF_MEMEND}
  894.   PCMCIA_DEF_MEMLEN     = $00001000; // default 4k window
  895.   {$EXTERNALSYM PCMCIA_DEF_MEMLEN}
  896.   REGSTR_VAL_PCMCIA_ALLOC = 'AllocMemWin'; // PCCard alloced memory Window
  897.   {$EXTERNALSYM REGSTR_VAL_PCMCIA_ALLOC}
  898.   REGSTR_VAL_PCMCIA_ATAD  = 'ATADelay'; // ATA device config start delay
  899.   {$EXTERNALSYM REGSTR_VAL_PCMCIA_ATAD}
  900.   REGSTR_VAL_PCMCIA_SIZ = 'MinRegionSize'; // Minimum region size
  901.   {$EXTERNALSYM REGSTR_VAL_PCMCIA_SIZ}
  902.   PCMCIA_DEF_MIN_REGION = $00010000; // 64K minimum region size
  903.   {$EXTERNALSYM PCMCIA_DEF_MIN_REGION}
  904. // Values in LPTENUM keys
  905.   REGSTR_VAL_P1284MDL = 'Model';
  906.   {$EXTERNALSYM REGSTR_VAL_P1284MDL}
  907.   REGSTR_VAL_P1284MFG = 'Manufacturer';
  908.   {$EXTERNALSYM REGSTR_VAL_P1284MFG}
  909. //
  910. //  Values under PATH_CLASSISAPNP
  911. //
  912.   REGSTR_VAL_ISAPNP              = 'ISAPNP'; // ISAPNP VxD name
  913.   {$EXTERNALSYM REGSTR_VAL_ISAPNP}
  914.   REGSTR_VAL_ISAPNP_RDP_OVERRIDE = 'RDPOverRide'; // ReadDataPort OverRide
  915.   {$EXTERNALSYM REGSTR_VAL_ISAPNP_RDP_OVERRIDE}
  916. //
  917. //  Values under PATH_CLASSPCI
  918. //
  919.   REGSTR_VAL_PCI               = 'PCI'; // PCI VxD name
  920.   {$EXTERNALSYM REGSTR_VAL_PCI}
  921.   REGSTR_PCI_OPTIONS           = 'Options'; // Possible PCI options
  922.   {$EXTERNALSYM REGSTR_PCI_OPTIONS}
  923.   REGSTR_PCI_DUAL_IDE          = 'PCIDualIDE'; // Dual IDE flag
  924.   {$EXTERNALSYM REGSTR_PCI_DUAL_IDE}
  925.   PCI_OPTIONS_USE_BIOS         = $00000001;
  926.   {$EXTERNALSYM PCI_OPTIONS_USE_BIOS}
  927.   PCI_OPTIONS_USE_IRQ_STEERING = $00000002;
  928.   {$EXTERNALSYM PCI_OPTIONS_USE_IRQ_STEERING}
  929. //
  930. //  Values under PATH_CLASSAGPxxxx
  931. //
  932. //  note:  These flags affect standard AGP capabilities,
  933. //         and are set in agplib
  934. //
  935.   AGP_FLAG_NO_1X_RATE             = $00000001;
  936.   {$EXTERNALSYM AGP_FLAG_NO_1X_RATE}
  937.   AGP_FLAG_NO_2X_RATE             = $00000002;
  938.   {$EXTERNALSYM AGP_FLAG_NO_2X_RATE}
  939.   AGP_FLAG_NO_4X_RATE             = $00000004;
  940.   {$EXTERNALSYM AGP_FLAG_NO_4X_RATE}
  941.   AGP_FLAG_NO_8X_RATE             = $00000008;
  942.   {$EXTERNALSYM AGP_FLAG_NO_8X_RATE}
  943.   AGP_FLAG_REVERSE_INITIALIZATION = $00000080;
  944.   {$EXTERNALSYM AGP_FLAG_REVERSE_INITIALIZATION}
  945.   AGP_FLAG_NO_SBA_ENABLE          = $00000100;
  946.   {$EXTERNALSYM AGP_FLAG_NO_SBA_ENABLE}
  947. //
  948. // AGP flags > AGP_SPECIAL_TARGET are platform specific
  949. //
  950.   AGP_FLAG_SPECIAL_TARGET         = $000FFFFF;
  951.   {$EXTERNALSYM AGP_FLAG_SPECIAL_TARGET}
  952.   AGP_FLAG_SPECIAL_RESERVE        = $000F0000;
  953.   {$EXTERNALSYM AGP_FLAG_SPECIAL_RESERVE}
  954. //
  955. // Detection related values
  956. //
  957.   REGSTR_KEY_CRASHES             = 'Crashes'; // key of REGSTR_PATH_DETECT
  958.   {$EXTERNALSYM REGSTR_KEY_CRASHES}
  959.   REGSTR_KEY_DANGERS             = 'Dangers'; // key of REGSTR_PATH_DETECT
  960.   {$EXTERNALSYM REGSTR_KEY_DANGERS}
  961.   REGSTR_KEY_DETMODVARS          = 'DetModVars'; // key of REGSTR_PATH_DETECT
  962.   {$EXTERNALSYM REGSTR_KEY_DETMODVARS}
  963.   REGSTR_KEY_NDISINFO            = 'NDISInfo'; // key of netcard hw entry
  964.   {$EXTERNALSYM REGSTR_KEY_NDISINFO}
  965.   REGSTR_VAL_PROTINIPATH         = 'ProtIniPath'; // protocol.ini path
  966.   {$EXTERNALSYM REGSTR_VAL_PROTINIPATH}
  967.   REGSTR_VAL_RESOURCES           = 'Resources'; // resources of crash func.
  968.   {$EXTERNALSYM REGSTR_VAL_RESOURCES}
  969.   REGSTR_VAL_CRASHFUNCS          = 'CrashFuncs'; // detfunc caused the crash
  970.   {$EXTERNALSYM REGSTR_VAL_CRASHFUNCS}
  971.   REGSTR_VAL_CLASS               = 'Class'; // device class
  972.   {$EXTERNALSYM REGSTR_VAL_CLASS}
  973.   REGSTR_VAL_DEVDESC             = 'DeviceDesc'; // device description
  974.   {$EXTERNALSYM REGSTR_VAL_DEVDESC}
  975.   REGSTR_VAL_BOOTCONFIG          = 'BootConfig'; // detected configuration
  976.   {$EXTERNALSYM REGSTR_VAL_BOOTCONFIG}
  977.   REGSTR_VAL_DETFUNC             = 'DetFunc'; // specifies detect mod/func.
  978.   {$EXTERNALSYM REGSTR_VAL_DETFUNC}
  979.   REGSTR_VAL_DETFLAGS            = 'DetFlags'; // detection flags
  980.   {$EXTERNALSYM REGSTR_VAL_DETFLAGS}
  981.   REGSTR_VAL_COMPATIBLEIDS       = 'CompatibleIDs'; // value of enumdevinst
  982.   {$EXTERNALSYM REGSTR_VAL_COMPATIBLEIDS}
  983.   REGSTR_VAL_DETCONFIG           = 'DetConfig'; // detected configuration
  984.   {$EXTERNALSYM REGSTR_VAL_DETCONFIG}
  985.   REGSTR_VAL_VERIFYKEY           = 'VerifyKey'; // key used in verify mode
  986.   {$EXTERNALSYM REGSTR_VAL_VERIFYKEY}
  987.   REGSTR_VAL_COMINFO             = 'ComInfo'; // com info. for serial mouse
  988.   {$EXTERNALSYM REGSTR_VAL_COMINFO}
  989.   REGSTR_VAL_INFNAME             = 'InfName'; // INF filename
  990.   {$EXTERNALSYM REGSTR_VAL_INFNAME}
  991.   REGSTR_VAL_CARDSPECIFIC        = 'CardSpecific'; // Netcard specific info (WORD)
  992.   {$EXTERNALSYM REGSTR_VAL_CARDSPECIFIC}
  993.   REGSTR_VAL_NETOSTYPE           = 'NetOSType'; // NetOS type associate w/ card
  994.   {$EXTERNALSYM REGSTR_VAL_NETOSTYPE}
  995.   REGSTR_DATA_NETOS_NDIS         = 'NDIS'; // Data of REGSTR_VAL_NETOSTYPE
  996.   {$EXTERNALSYM REGSTR_DATA_NETOS_NDIS}
  997.   REGSTR_DATA_NETOS_ODI          = 'ODI'; // Data of REGSTR_VAL_NETOSTYPE
  998.   {$EXTERNALSYM REGSTR_DATA_NETOS_ODI}
  999.   REGSTR_DATA_NETOS_IPX          = 'IPX'; // Data of REGSTR_VAL_NETOSTYPE
  1000.   {$EXTERNALSYM REGSTR_DATA_NETOS_IPX}
  1001.   REGSTR_VAL_MFG                 = 'Mfg';
  1002.   {$EXTERNALSYM REGSTR_VAL_MFG}
  1003.   REGSTR_VAL_SCAN_ONLY_FIRST     = 'ScanOnlyFirstDrive'; // used with IDE driver
  1004.   {$EXTERNALSYM REGSTR_VAL_SCAN_ONLY_FIRST}
  1005.   REGSTR_VAL_SHARE_IRQ           = 'ForceIRQSharing'; // used with IDE driver
  1006.   {$EXTERNALSYM REGSTR_VAL_SHARE_IRQ}
  1007.   REGSTR_VAL_NONSTANDARD_ATAPI   = 'NonStandardATAPI'; // used with IDE driver
  1008.   {$EXTERNALSYM REGSTR_VAL_NONSTANDARD_ATAPI}
  1009.   REGSTR_VAL_IDE_FORCE_SERIALIZE = 'ForceSerialization'; // used with IDE driver
  1010.   {$EXTERNALSYM REGSTR_VAL_IDE_FORCE_SERIALIZE}
  1011.   REGSTR_VAL_MAX_HCID_LEN        = 1024; // Maximum hardware/compat ID len
  1012.   {$EXTERNALSYM REGSTR_VAL_MAX_HCID_LEN}
  1013.   REGSTR_VAL_HWREV               = 'HWRevision';
  1014.   {$EXTERNALSYM REGSTR_VAL_HWREV}
  1015.   REGSTR_VAL_ENABLEINTS          = 'EnableInts';
  1016.   {$EXTERNALSYM REGSTR_VAL_ENABLEINTS}
  1017. //
  1018. // Bit values of REGSTR_VAL_DETFLAGS
  1019. //
  1020.   REGDF_NOTDETIO        = $00000001; // cannot detect I/O resource
  1021.   {$EXTERNALSYM REGDF_NOTDETIO}
  1022.   REGDF_NOTDETMEM       = $00000002; // cannot detect mem resource
  1023.   {$EXTERNALSYM REGDF_NOTDETMEM}
  1024.   REGDF_NOTDETIRQ       = $00000004; // cannot detect IRQ resource
  1025.   {$EXTERNALSYM REGDF_NOTDETIRQ}
  1026.   REGDF_NOTDETDMA       = $00000008; // cannot detect DMA resource
  1027.   {$EXTERNALSYM REGDF_NOTDETDMA}
  1028.   REGDF_NOTDETALL       = (REGDF_NOTDETIO or REGDF_NOTDETMEM or REGDF_NOTDETIRQ or REGDF_NOTDETDMA);
  1029.   {$EXTERNALSYM REGDF_NOTDETALL}
  1030.   REGDF_NEEDFULLCONFIG  = $00000010; // stop devnode if lack resource
  1031.   {$EXTERNALSYM REGDF_NEEDFULLCONFIG}
  1032.   REGDF_GENFORCEDCONFIG = $00000020; // also generate forceconfig
  1033.   {$EXTERNALSYM REGDF_GENFORCEDCONFIG}
  1034.   REGDF_NODETCONFIG     = $00008000; // don't write detconfig to reg.
  1035.   {$EXTERNALSYM REGDF_NODETCONFIG}
  1036.   REGDF_CONFLICTIO      = $00010000; // I/O res. in conflict
  1037.   {$EXTERNALSYM REGDF_CONFLICTIO}
  1038.   REGDF_CONFLICTMEM     = $00020000; // mem res. in conflict
  1039.   {$EXTERNALSYM REGDF_CONFLICTMEM}
  1040.   REGDF_CONFLICTIRQ     = $00040000; // IRQ res. in conflict
  1041.   {$EXTERNALSYM REGDF_CONFLICTIRQ}
  1042.   REGDF_CONFLICTDMA     = $00080000; // DMA res. in conflict
  1043.   {$EXTERNALSYM REGDF_CONFLICTDMA}
  1044.   REGDF_CONFLICTALL     = (REGDF_CONFLICTIO or REGDF_CONFLICTMEM or REGDF_CONFLICTIRQ or REGDF_CONFLICTDMA);
  1045.   {$EXTERNALSYM REGDF_CONFLICTALL}
  1046.   REGDF_MAPIRQ2TO9      = $00100000; // IRQ2 has been mapped to 9
  1047.   {$EXTERNALSYM REGDF_MAPIRQ2TO9}
  1048.   REGDF_NOTVERIFIED     = DWORD($80000000); // previous device unverified
  1049.   {$EXTERNALSYM REGDF_NOTVERIFIED}
  1050. //
  1051. //  Values in REGSTR_KEY_SYSTEMBOARD
  1052. //
  1053.   REGSTR_VAL_APMBIOSVER         = 'APMBiosVer';
  1054.   {$EXTERNALSYM REGSTR_VAL_APMBIOSVER}
  1055.   REGSTR_VAL_APMFLAGS           = 'APMFlags';
  1056.   {$EXTERNALSYM REGSTR_VAL_APMFLAGS}
  1057.   REGSTR_VAL_SLSUPPORT          = 'SLSupport';
  1058.   {$EXTERNALSYM REGSTR_VAL_SLSUPPORT}
  1059.   REGSTR_VAL_MACHINETYPE        = 'MachineType';
  1060.   {$EXTERNALSYM REGSTR_VAL_MACHINETYPE}
  1061.   REGSTR_VAL_SETUPMACHINETYPE   = 'SetupMachineType';
  1062.   {$EXTERNALSYM REGSTR_VAL_SETUPMACHINETYPE}
  1063.   REGSTR_MACHTYPE_UNKNOWN       = 'Unknown';
  1064.   {$EXTERNALSYM REGSTR_MACHTYPE_UNKNOWN}
  1065.   REGSTR_MACHTYPE_IBMPC         = 'IBM PC';
  1066.   {$EXTERNALSYM REGSTR_MACHTYPE_IBMPC}
  1067.   REGSTR_MACHTYPE_IBMPCJR       = 'IBM PCjr';
  1068.   {$EXTERNALSYM REGSTR_MACHTYPE_IBMPCJR}
  1069.   REGSTR_MACHTYPE_IBMPCCONV     = 'IBM PC Convertible';
  1070.   {$EXTERNALSYM REGSTR_MACHTYPE_IBMPCCONV}
  1071.   REGSTR_MACHTYPE_IBMPCXT       = 'IBM PC/XT';
  1072.   {$EXTERNALSYM REGSTR_MACHTYPE_IBMPCXT}
  1073.   REGSTR_MACHTYPE_IBMPCXT_286   = 'IBM PC/XT 286';
  1074.   {$EXTERNALSYM REGSTR_MACHTYPE_IBMPCXT_286}
  1075.   REGSTR_MACHTYPE_IBMPCAT       = 'IBM PC/AT';
  1076.   {$EXTERNALSYM REGSTR_MACHTYPE_IBMPCAT}
  1077.   REGSTR_MACHTYPE_IBMPS2_25     = 'IBM PS/2-25';
  1078.   {$EXTERNALSYM REGSTR_MACHTYPE_IBMPS2_25}
  1079.   REGSTR_MACHTYPE_IBMPS2_30_286 = 'IBM PS/2-30 286';
  1080.   {$EXTERNALSYM REGSTR_MACHTYPE_IBMPS2_30_286}
  1081.   REGSTR_MACHTYPE_IBMPS2_30     = 'IBM PS/2-30';
  1082.   {$EXTERNALSYM REGSTR_MACHTYPE_IBMPS2_30}
  1083.   REGSTR_MACHTYPE_IBMPS2_50     = 'IBM PS/2-50';
  1084.   {$EXTERNALSYM REGSTR_MACHTYPE_IBMPS2_50}
  1085.   REGSTR_MACHTYPE_IBMPS2_50Z    = 'IBM PS/2-50Z';
  1086.   {$EXTERNALSYM REGSTR_MACHTYPE_IBMPS2_50Z}
  1087.   REGSTR_MACHTYPE_IBMPS2_55SX   = 'IBM PS/2-55SX';
  1088.   {$EXTERNALSYM REGSTR_MACHTYPE_IBMPS2_55SX}
  1089.   REGSTR_MACHTYPE_IBMPS2_60     = 'IBM PS/2-60';
  1090.   {$EXTERNALSYM REGSTR_MACHTYPE_IBMPS2_60}
  1091.   REGSTR_MACHTYPE_IBMPS2_65SX   = 'IBM PS/2-65SX';
  1092.   {$EXTERNALSYM REGSTR_MACHTYPE_IBMPS2_65SX}
  1093.   REGSTR_MACHTYPE_IBMPS2_70     = 'IBM PS/2-70';
  1094.   {$EXTERNALSYM REGSTR_MACHTYPE_IBMPS2_70}
  1095.   REGSTR_MACHTYPE_IBMPS2_P70    = 'IBM PS/2-P70';
  1096.   {$EXTERNALSYM REGSTR_MACHTYPE_IBMPS2_P70}
  1097.   REGSTR_MACHTYPE_IBMPS2_70_80  = 'IBM PS/2-70/80';
  1098.   {$EXTERNALSYM REGSTR_MACHTYPE_IBMPS2_70_80}
  1099.   REGSTR_MACHTYPE_IBMPS2_80     = 'IBM PS/2-80';
  1100.   {$EXTERNALSYM REGSTR_MACHTYPE_IBMPS2_80}
  1101.   REGSTR_MACHTYPE_IBMPS2_90     = 'IBM PS/2-90';
  1102.   {$EXTERNALSYM REGSTR_MACHTYPE_IBMPS2_90}
  1103.   REGSTR_MACHTYPE_IBMPS1        = 'IBM PS/1';
  1104.   {$EXTERNALSYM REGSTR_MACHTYPE_IBMPS1}
  1105.   REGSTR_MACHTYPE_PHOENIX_PCAT  = 'Phoenix PC/AT Compatible';
  1106.   {$EXTERNALSYM REGSTR_MACHTYPE_PHOENIX_PCAT}
  1107.   REGSTR_MACHTYPE_HP_VECTRA     = 'HP Vectra';
  1108.   {$EXTERNALSYM REGSTR_MACHTYPE_HP_VECTRA}
  1109.   REGSTR_MACHTYPE_ATT_PC        = 'ATandT PC';
  1110.   {$EXTERNALSYM REGSTR_MACHTYPE_ATT_PC}
  1111.   REGSTR_MACHTYPE_ZENITH_PC     = 'Zenith PC';
  1112.   {$EXTERNALSYM REGSTR_MACHTYPE_ZENITH_PC}
  1113.   REGSTR_VAL_APMMENUSUSPEND = 'APMMenuSuspend';
  1114.   {$EXTERNALSYM REGSTR_VAL_APMMENUSUSPEND}
  1115.   APMMENUSUSPEND_DISABLED   = 0; // always disabled
  1116.   {$EXTERNALSYM APMMENUSUSPEND_DISABLED}
  1117.   APMMENUSUSPEND_ENABLED    = 1; // always enabled
  1118.   {$EXTERNALSYM APMMENUSUSPEND_ENABLED}
  1119.   APMMENUSUSPEND_UNDOCKED   = 2; // enabled undocked
  1120.   {$EXTERNALSYM APMMENUSUSPEND_UNDOCKED}
  1121.   APMMENUSUSPEND_NOCHANGE   = $80; // bitflag - cannot change setting via UI
  1122.   {$EXTERNALSYM APMMENUSUSPEND_NOCHANGE}
  1123.   REGSTR_VAL_APMACTIMEOUT  = 'APMACTimeout';
  1124.   {$EXTERNALSYM REGSTR_VAL_APMACTIMEOUT}
  1125.   REGSTR_VAL_APMBATTIMEOUT = 'APMBatTimeout';
  1126.   {$EXTERNALSYM REGSTR_VAL_APMBATTIMEOUT}
  1127.   APMTIMEOUT_DISABLED      = 0;
  1128.   {$EXTERNALSYM APMTIMEOUT_DISABLED}
  1129.   REGSTR_VAL_APMSHUTDOWNPOWER = 'APMShutDownPower';
  1130.   {$EXTERNALSYM REGSTR_VAL_APMSHUTDOWNPOWER}
  1131.   REGSTR_VAL_BUSTYPE        = 'BusType';
  1132.   {$EXTERNALSYM REGSTR_VAL_BUSTYPE}
  1133.   REGSTR_VAL_CPU            = 'CPU';
  1134.   {$EXTERNALSYM REGSTR_VAL_CPU}
  1135.   REGSTR_VAL_NDP            = 'NDP';
  1136.   {$EXTERNALSYM REGSTR_VAL_NDP}
  1137.   REGSTR_VAL_PNPBIOSVER     = 'PnPBIOSVer';
  1138.   {$EXTERNALSYM REGSTR_VAL_PNPBIOSVER}
  1139.   REGSTR_VAL_PNPSTRUCOFFSET = 'PnPStrucOffset';
  1140.   {$EXTERNALSYM REGSTR_VAL_PNPSTRUCOFFSET}
  1141.   REGSTR_VAL_PCIBIOSVER     = 'PCIBIOSVer';
  1142.   {$EXTERNALSYM REGSTR_VAL_PCIBIOSVER}
  1143.   REGSTR_VAL_HWMECHANISM    = 'HWMechanism';
  1144.   {$EXTERNALSYM REGSTR_VAL_HWMECHANISM}
  1145.   REGSTR_VAL_LASTPCIBUSNUM  = 'LastPCIBusNum';
  1146.   {$EXTERNALSYM REGSTR_VAL_LASTPCIBUSNUM}
  1147.   REGSTR_VAL_CONVMEM        = 'ConvMem';
  1148.   {$EXTERNALSYM REGSTR_VAL_CONVMEM}
  1149.   REGSTR_VAL_EXTMEM         = 'ExtMem';
  1150.   {$EXTERNALSYM REGSTR_VAL_EXTMEM}
  1151.   REGSTR_VAL_COMPUTERNAME   = 'ComputerName';
  1152.   {$EXTERNALSYM REGSTR_VAL_COMPUTERNAME}
  1153.   REGSTR_VAL_BIOSNAME       = 'BIOSName';
  1154.   {$EXTERNALSYM REGSTR_VAL_BIOSNAME}
  1155.   REGSTR_VAL_BIOSVERSION    = 'BIOSVersion';
  1156.   {$EXTERNALSYM REGSTR_VAL_BIOSVERSION}
  1157.   REGSTR_VAL_BIOSDATE       = 'BIOSDate';
  1158.   {$EXTERNALSYM REGSTR_VAL_BIOSDATE}
  1159.   REGSTR_VAL_MODEL          = 'Model';
  1160.   {$EXTERNALSYM REGSTR_VAL_MODEL}
  1161.   REGSTR_VAL_SUBMODEL       = 'Submodel';
  1162.   {$EXTERNALSYM REGSTR_VAL_SUBMODEL}
  1163.   REGSTR_VAL_REVISION       = 'Revision';
  1164.   {$EXTERNALSYM REGSTR_VAL_REVISION}
  1165. //
  1166. //  Values used in the LPT(ECP) device entry
  1167. //
  1168.   REGSTR_VAL_FIFODEPTH      = 'FIFODepth';
  1169.   {$EXTERNALSYM REGSTR_VAL_FIFODEPTH}
  1170.   REGSTR_VAL_RDINTTHRESHOLD = 'RDIntThreshold';
  1171.   {$EXTERNALSYM REGSTR_VAL_RDINTTHRESHOLD}
  1172.   REGSTR_VAL_WRINTTHRESHOLD = 'WRIntThreshold';
  1173.   {$EXTERNALSYM REGSTR_VAL_WRINTTHRESHOLD}
  1174. //used in enumxxx<devname><instname>
  1175.   REGSTR_VAL_PRIORITY      = 'Priority';
  1176.   {$EXTERNALSYM REGSTR_VAL_PRIORITY}
  1177.   REGSTR_VAL_DRIVER        = 'Driver';
  1178.   {$EXTERNALSYM REGSTR_VAL_DRIVER}
  1179.   REGSTR_VAL_FUNCDESC      = 'FunctionDesc';
  1180.   {$EXTERNALSYM REGSTR_VAL_FUNCDESC}
  1181.   REGSTR_VAL_FORCEDCONFIG  = 'ForcedConfig';
  1182.   {$EXTERNALSYM REGSTR_VAL_FORCEDCONFIG}
  1183.   REGSTR_VAL_CONFIGFLAGS   = 'ConfigFlags'; // (binary ULONG)
  1184.   {$EXTERNALSYM REGSTR_VAL_CONFIGFLAGS}
  1185.   REGSTR_VAL_CSCONFIGFLAGS = 'CSConfigFlags'; // (binary ULONG)
  1186.   {$EXTERNALSYM REGSTR_VAL_CSCONFIGFLAGS}
  1187.   CONFIGFLAG_DISABLED            = $00000001; // Set if disabled
  1188.   {$EXTERNALSYM CONFIGFLAG_DISABLED}
  1189.   CONFIGFLAG_REMOVED             = $00000002; // Set if a present hardware enum device deleted
  1190.   {$EXTERNALSYM CONFIGFLAG_REMOVED}
  1191.   CONFIGFLAG_MANUAL_INSTALL      = $00000004; // Set if the devnode was manually installed
  1192.   {$EXTERNALSYM CONFIGFLAG_MANUAL_INSTALL}
  1193.   CONFIGFLAG_IGNORE_BOOT_LC      = $00000008; // Set if skip the boot config
  1194.   {$EXTERNALSYM CONFIGFLAG_IGNORE_BOOT_LC}
  1195.   CONFIGFLAG_NET_BOOT            = $00000010; // Load this devnode when in net boot
  1196.   {$EXTERNALSYM CONFIGFLAG_NET_BOOT}
  1197.   CONFIGFLAG_REINSTALL           = $00000020; // Redo install
  1198.   {$EXTERNALSYM CONFIGFLAG_REINSTALL}
  1199.   CONFIGFLAG_FAILEDINSTALL       = $00000040; // Failed the install
  1200.   {$EXTERNALSYM CONFIGFLAG_FAILEDINSTALL}
  1201.   CONFIGFLAG_CANTSTOPACHILD      = $00000080; // Can't stop/remove a single child
  1202.   {$EXTERNALSYM CONFIGFLAG_CANTSTOPACHILD}
  1203.   CONFIGFLAG_OKREMOVEROM         = $00000100; // Can remove even if rom.
  1204.   {$EXTERNALSYM CONFIGFLAG_OKREMOVEROM}
  1205.   CONFIGFLAG_NOREMOVEEXIT        = $00000200; // Don't remove at exit.
  1206.   {$EXTERNALSYM CONFIGFLAG_NOREMOVEEXIT}
  1207.   CONFIGFLAG_FINISH_INSTALL      = $00000400; // Complete install for devnode running 'raw'
  1208.   {$EXTERNALSYM CONFIGFLAG_FINISH_INSTALL}
  1209.   CONFIGFLAG_NEEDS_FORCED_CONFIG = $00000800; // This devnode requires a forced config
  1210.   {$EXTERNALSYM CONFIGFLAG_NEEDS_FORCED_CONFIG}
  1211.   CONFIGFLAG_NETBOOT_CARD = $00001000; // This is the remote boot network card
  1212.   {$EXTERNALSYM CONFIGFLAG_NETBOOT_CARD}
  1213.   CONFIGFLAG_PARTIAL_LOG_CONF    = $00002000; // This device has a partial logconfig
  1214.   {$EXTERNALSYM CONFIGFLAG_PARTIAL_LOG_CONF}
  1215.   CONFIGFLAG_SUPPRESS_SURPRISE   = $00004000; // Set if unsafe removals should be ignored
  1216.   {$EXTERNALSYM CONFIGFLAG_SUPPRESS_SURPRISE}
  1217.   CONFIGFLAG_VERIFY_HARDWARE     = $00008000; // Set if hardware should be tested for logo failures
  1218.   {$EXTERNALSYM CONFIGFLAG_VERIFY_HARDWARE}
  1219.   CSCONFIGFLAG_BITS          = $00000007; // OR of below bits
  1220.   {$EXTERNALSYM CSCONFIGFLAG_BITS}
  1221.   CSCONFIGFLAG_DISABLED      = $00000001; // Set if
  1222.   {$EXTERNALSYM CSCONFIGFLAG_DISABLED}
  1223.   CSCONFIGFLAG_DO_NOT_CREATE = $00000002; // Set if
  1224.   {$EXTERNALSYM CSCONFIGFLAG_DO_NOT_CREATE}
  1225.   CSCONFIGFLAG_DO_NOT_START  = $00000004; // Set if
  1226.   {$EXTERNALSYM CSCONFIGFLAG_DO_NOT_START}
  1227.   DMSTATEFLAG_APPLYTOALL = $00000001; // Set if Apply To All check box is checked
  1228.   {$EXTERNALSYM DMSTATEFLAG_APPLYTOALL}
  1229. //
  1230. // Special devnodes name
  1231. //
  1232.   REGSTR_VAL_ROOT_DEVNODE     = 'HTREEROOT';
  1233.   {$EXTERNALSYM REGSTR_VAL_ROOT_DEVNODE}
  1234.   REGSTR_VAL_RESERVED_DEVNODE = 'HTREERESERVED';
  1235.   {$EXTERNALSYM REGSTR_VAL_RESERVED_DEVNODE}
  1236.   REGSTR_PATH_READDATAPORT    = REGSTR_KEY_ISAENUM + 'ReadDataPort';
  1237.   {$EXTERNALSYM REGSTR_PATH_READDATAPORT}
  1238. //
  1239. // Multifunction definitions
  1240. //
  1241.   REGSTR_PATH_MULTI_FUNCTION           = 'MF';
  1242.   {$EXTERNALSYM REGSTR_PATH_MULTI_FUNCTION}
  1243.   REGSTR_VAL_RESOURCE_MAP              = 'ResourceMap';
  1244.   {$EXTERNALSYM REGSTR_VAL_RESOURCE_MAP}
  1245.   REGSTR_PATH_CHILD_PREFIX             = 'Child';
  1246.   {$EXTERNALSYM REGSTR_PATH_CHILD_PREFIX}
  1247.   NUM_RESOURCE_MAP                     = 256;
  1248.   {$EXTERNALSYM NUM_RESOURCE_MAP}
  1249.   REGSTR_VAL_MF_FLAGS                  = 'MFFlags';
  1250.   {$EXTERNALSYM REGSTR_VAL_MF_FLAGS}
  1251.   MF_FLAGS_EVEN_IF_NO_RESOURCE         = $00000001;
  1252.   {$EXTERNALSYM MF_FLAGS_EVEN_IF_NO_RESOURCE}
  1253.   MF_FLAGS_NO_CREATE_IF_NO_RESOURCE    = $00000002;
  1254.   {$EXTERNALSYM MF_FLAGS_NO_CREATE_IF_NO_RESOURCE}
  1255.   MF_FLAGS_FILL_IN_UNKNOWN_RESOURCE    = $00000004;
  1256.   {$EXTERNALSYM MF_FLAGS_FILL_IN_UNKNOWN_RESOURCE}
  1257.   MF_FLAGS_CREATE_BUT_NO_SHOW_DISABLED = $00000008;
  1258.   {$EXTERNALSYM MF_FLAGS_CREATE_BUT_NO_SHOW_DISABLED}
  1259. //
  1260. // EISA multi functions add-on
  1261. //
  1262. {$IFNDEF NEC_98}
  1263.   REGSTR_VAL_EISA_RANGES         = 'EISARanges';
  1264.   {$EXTERNALSYM REGSTR_VAL_EISA_RANGES}
  1265.   REGSTR_VAL_EISA_FUNCTIONS      = 'EISAFunctions';
  1266.   {$EXTERNALSYM REGSTR_VAL_EISA_FUNCTIONS}
  1267.   REGSTR_VAL_EISA_FUNCTIONS_MASK = 'EISAFunctionsMask';
  1268.   {$EXTERNALSYM REGSTR_VAL_EISA_FUNCTIONS_MASK}
  1269.   REGSTR_VAL_EISA_FLAGS          = 'EISAFlags';
  1270.   {$EXTERNALSYM REGSTR_VAL_EISA_FLAGS}
  1271.   REGSTR_VAL_EISA_SIMULATE_INT15 = 'EISASimulateInt15';
  1272.   {$EXTERNALSYM REGSTR_VAL_EISA_SIMULATE_INT15}
  1273. {$ELSE}
  1274.   REGSTR_VAL_EISA_RANGES         = 'NESARanges';
  1275.   {$EXTERNALSYM REGSTR_VAL_EISA_RANGES}
  1276.   REGSTR_VAL_EISA_FUNCTIONS      = 'NESAFunctions';
  1277.   {$EXTERNALSYM REGSTR_VAL_EISA_FUNCTIONS}
  1278.   REGSTR_VAL_EISA_FUNCTIONS_MASK = 'NESAFunctionsMask';
  1279.   {$EXTERNALSYM REGSTR_VAL_EISA_FUNCTIONS_MASK}
  1280.   REGSTR_VAL_EISA_FLAGS          = 'NESAFlags';
  1281.   {$EXTERNALSYM REGSTR_VAL_EISA_FLAGS}
  1282.   REGSTR_VAL_EISA_SIMULATE_INT15 = 'NESASimulateInt15';
  1283.   {$EXTERNALSYM REGSTR_VAL_EISA_SIMULATE_INT15}
  1284. {$ENDIF}
  1285.   EISAFLAG_NO_IO_MERGE   = $00000001;
  1286.   {$EXTERNALSYM EISAFLAG_NO_IO_MERGE}
  1287.   EISAFLAG_SLOT_IO_FIRST = $00000002;
  1288.   {$EXTERNALSYM EISAFLAG_SLOT_IO_FIRST}
  1289.   EISA_NO_MAX_FUNCTION   = $FF;
  1290.   {$EXTERNALSYM EISA_NO_MAX_FUNCTION}
  1291.   NUM_EISA_RANGES        = 4;
  1292.   {$EXTERNALSYM NUM_EISA_RANGES}
  1293. //
  1294. //  Driver entries
  1295. //
  1296.   REGSTR_VAL_DRVDESC            = 'DriverDesc'; // value of enumdevinstDRV
  1297.   {$EXTERNALSYM REGSTR_VAL_DRVDESC}
  1298.   REGSTR_VAL_DEVLOADER          = 'DevLoader'; // value of DRV
  1299.   {$EXTERNALSYM REGSTR_VAL_DEVLOADER}
  1300.   REGSTR_VAL_STATICVXD          = 'StaticVxD'; // value of DRV
  1301.   {$EXTERNALSYM REGSTR_VAL_STATICVXD}
  1302.   REGSTR_VAL_PROPERTIES         = 'Properties'; // value of DRV
  1303.   {$EXTERNALSYM REGSTR_VAL_PROPERTIES}
  1304.   REGSTR_VAL_MANUFACTURER       = 'Manufacturer';
  1305.   {$EXTERNALSYM REGSTR_VAL_MANUFACTURER}
  1306.   REGSTR_VAL_EXISTS             = 'Exists'; // value of HCCHWENUMROOTdevinst
  1307.   {$EXTERNALSYM REGSTR_VAL_EXISTS}
  1308.   REGSTR_VAL_CMENUMFLAGS        = 'CMEnumFlags'; // (binary ULONG)
  1309.   {$EXTERNALSYM REGSTR_VAL_CMENUMFLAGS}
  1310.   REGSTR_VAL_CMDRIVFLAGS        = 'CMDrivFlags'; // (binary ULONG)
  1311.   {$EXTERNALSYM REGSTR_VAL_CMDRIVFLAGS}
  1312.   REGSTR_VAL_ENUMERATOR         = 'Enumerator'; // value of DRV
  1313.   {$EXTERNALSYM REGSTR_VAL_ENUMERATOR}
  1314.   REGSTR_VAL_DEVICEDRIVER       = 'DeviceDriver'; // value of DRV
  1315.   {$EXTERNALSYM REGSTR_VAL_DEVICEDRIVER}
  1316.   REGSTR_VAL_PORTNAME           = 'PortName'; // VCOMM uses this for it's port names
  1317.   {$EXTERNALSYM REGSTR_VAL_PORTNAME}
  1318.   REGSTR_VAL_INFPATH            = 'InfPath';
  1319.   {$EXTERNALSYM REGSTR_VAL_INFPATH}
  1320.   REGSTR_VAL_INFSECTION         = 'InfSection';
  1321.   {$EXTERNALSYM REGSTR_VAL_INFSECTION}
  1322.   REGSTR_VAL_INFSECTIONEXT      = 'InfSectionExt';
  1323.   {$EXTERNALSYM REGSTR_VAL_INFSECTIONEXT}
  1324.   REGSTR_VAL_POLLING            = 'Polling'; // SCSI specific
  1325.   {$EXTERNALSYM REGSTR_VAL_POLLING}
  1326.   REGSTR_VAL_DONTLOADIFCONFLICT = 'DontLoadIfConflict'; // SCSI specific
  1327.   {$EXTERNALSYM REGSTR_VAL_DONTLOADIFCONFLICT}
  1328.   REGSTR_VAL_PORTSUBCLASS       = 'PortSubClass';
  1329.   {$EXTERNALSYM REGSTR_VAL_PORTSUBCLASS}
  1330.   REGSTR_VAL_NETCLEAN           = 'NetClean'; // Driver required for NetClean boot
  1331.   {$EXTERNALSYM REGSTR_VAL_NETCLEAN}
  1332.   REGSTR_VAL_IDE_NO_SERIALIZE   = 'IDENoSerialize'; // IDE specific
  1333.   {$EXTERNALSYM REGSTR_VAL_IDE_NO_SERIALIZE}
  1334.   REGSTR_VAL_NOCMOSORFDPT       = 'NoCMOSorFDPT'; // IDE specific
  1335.   {$EXTERNALSYM REGSTR_VAL_NOCMOSORFDPT}
  1336.   REGSTR_VAL_COMVERIFYBASE      = 'COMVerifyBase'; // VCD specific
  1337.   {$EXTERNALSYM REGSTR_VAL_COMVERIFYBASE}
  1338.   REGSTR_VAL_MATCHINGDEVID      = 'MatchingDeviceId';
  1339.   {$EXTERNALSYM REGSTR_VAL_MATCHINGDEVID}
  1340.   REGSTR_VAL_DRIVERDATE         = 'DriverDate'; // value of DRV
  1341.   {$EXTERNALSYM REGSTR_VAL_DRIVERDATE}
  1342.   REGSTR_VAL_DRIVERDATEDATA     = 'DriverDateData'; // value of DRV
  1343.   {$EXTERNALSYM REGSTR_VAL_DRIVERDATEDATA}
  1344.   REGSTR_VAL_DRIVERVERSION      = 'DriverVersion'; // value of DRV
  1345.   {$EXTERNALSYM REGSTR_VAL_DRIVERVERSION}
  1346.   REGSTR_VAL_LOCATION_INFORMATION_OVERRIDE = 'LocationInformationOverride';  // value of DRV
  1347.   {$EXTERNALSYM REGSTR_VAL_LOCATION_INFORMATION_OVERRIDE}
  1348. //
  1349. //  Driver keys
  1350. //
  1351.   REGSTR_KEY_OVERRIDE = 'Override'; // key under the software section
  1352.   {$EXTERNALSYM REGSTR_KEY_OVERRIDE}
  1353. //used by CONFIGMG
  1354.   REGSTR_VAL_CONFIGMG          = 'CONFIGMG'; // Config Manager VxD name
  1355.   {$EXTERNALSYM REGSTR_VAL_CONFIGMG}
  1356.   REGSTR_VAL_SYSDM             = 'SysDM'; // The device installer DLL
  1357.   {$EXTERNALSYM REGSTR_VAL_SYSDM}
  1358.   REGSTR_VAL_SYSDMFUNC         = 'SysDMFunc'; // The device installer DLL function
  1359.   {$EXTERNALSYM REGSTR_VAL_SYSDMFUNC}
  1360.   REGSTR_VAL_PRIVATE           = 'Private'; // The private library
  1361.   {$EXTERNALSYM REGSTR_VAL_PRIVATE}
  1362.   REGSTR_VAL_PRIVATEFUNC       = 'PrivateFunc'; // The private library function
  1363.   {$EXTERNALSYM REGSTR_VAL_PRIVATEFUNC}
  1364.   REGSTR_VAL_DETECT            = 'Detect'; // The detection library
  1365.   {$EXTERNALSYM REGSTR_VAL_DETECT}
  1366.   REGSTR_VAL_DETECTFUNC        = 'DetectFunc'; // The detection library function
  1367.   {$EXTERNALSYM REGSTR_VAL_DETECTFUNC}
  1368.   REGSTR_VAL_ASKFORCONFIG      = 'AskForConfig'; // The AskForConfig library
  1369.   {$EXTERNALSYM REGSTR_VAL_ASKFORCONFIG}
  1370.   REGSTR_VAL_ASKFORCONFIGFUNC  = 'AskForConfigFunc'; // The AskForConfig library function
  1371.   {$EXTERNALSYM REGSTR_VAL_ASKFORCONFIGFUNC}
  1372.   REGSTR_VAL_WAITFORUNDOCK     = 'WaitForUndock'; // The WaitForUndock library
  1373.   {$EXTERNALSYM REGSTR_VAL_WAITFORUNDOCK}
  1374.   REGSTR_VAL_WAITFORUNDOCKFUNC = 'WaitForUndockFunc'; // The WaitForUndock library function
  1375.   {$EXTERNALSYM REGSTR_VAL_WAITFORUNDOCKFUNC}
  1376.   REGSTR_VAL_REMOVEROMOKAY     = 'RemoveRomOkay'; // The RemoveRomOkay library
  1377.   {$EXTERNALSYM REGSTR_VAL_REMOVEROMOKAY}
  1378.   REGSTR_VAL_REMOVEROMOKAYFUNC = 'RemoveRomOkayFunc'; // The RemoveRomOkay library function
  1379.   {$EXTERNALSYM REGSTR_VAL_REMOVEROMOKAYFUNC}
  1380. //used in IDCONFIGDB
  1381.   REGSTR_VAL_CURCONFIG      = 'CurrentConfig'; // value of idconfigdb
  1382.   {$EXTERNALSYM REGSTR_VAL_CURCONFIG}
  1383.   REGSTR_VAL_FRIENDLYNAME   = 'FriendlyName'; // value of idconfigdb
  1384.   {$EXTERNALSYM REGSTR_VAL_FRIENDLYNAME}
  1385.   REGSTR_VAL_CURRENTCONFIG  = 'CurrentConfig'; // value of idconfigdb
  1386.   {$EXTERNALSYM REGSTR_VAL_CURRENTCONFIG}
  1387.   REGSTR_VAL_MAP            = 'Map'; // value of idconfigdb
  1388.   {$EXTERNALSYM REGSTR_VAL_MAP}
  1389.   REGSTR_VAL_ID             = 'CurrentID'; // value of idconfigdb
  1390.   {$EXTERNALSYM REGSTR_VAL_ID}
  1391.   REGSTR_VAL_DOCKED         = 'CurrentDockedState'; // value of idconfigdb
  1392.   {$EXTERNALSYM REGSTR_VAL_DOCKED}
  1393.   REGSTR_VAL_CHECKSUM       = 'CurrentChecksum'; // value of idconfigdb
  1394.   {$EXTERNALSYM REGSTR_VAL_CHECKSUM}
  1395.   REGSTR_VAL_HWDETECT       = 'HardwareDetect'; // value of idconfigdb
  1396.   {$EXTERNALSYM REGSTR_VAL_HWDETECT}
  1397.   REGSTR_VAL_INHIBITRESULTS = 'InhibitResults'; // value of idconfigdb
  1398.   {$EXTERNALSYM REGSTR_VAL_INHIBITRESULTS}
  1399. //used in HKEY_CURRENT_CONFIG
  1400.   REGSTR_VAL_PROFILEFLAGS = 'ProfileFlags'; // value of HKEY_CURRENT_CONFIG
  1401.   {$EXTERNALSYM REGSTR_VAL_PROFILEFLAGS}
  1402. //used in PCMCIA
  1403.   REGSTR_KEY_PCMCIA     = 'PCMCIA'; // PCMCIA dev ID prefix
  1404.   {$EXTERNALSYM REGSTR_KEY_PCMCIA}
  1405.   REGSTR_KEY_PCUNKNOWN  = 'UNKNOWN_MANUFACTURER'; // PCMCIA dev ID manuf
  1406.   {$EXTERNALSYM REGSTR_KEY_PCUNKNOWN}
  1407.   REGSTR_VAL_PCSSDRIVER = 'Driver'; // value of DRV
  1408.   {$EXTERNALSYM REGSTR_VAL_PCSSDRIVER}
  1409.   REGSTR_KEY_PCMTD      = 'MTD-'; // MTD dev ID component
  1410.   {$EXTERNALSYM REGSTR_KEY_PCMTD}
  1411.   REGSTR_VAL_PCMTDRIVER = 'MTD'; // value of Mem Tech DRV
  1412.   {$EXTERNALSYM REGSTR_VAL_PCMTDRIVER}
  1413. //used in hardwareenumdevinst by Device Installer
  1414.   REGSTR_VAL_HARDWAREID = 'HardwareID'; // value of enumdevinst
  1415.   {$EXTERNALSYM REGSTR_VAL_HARDWAREID}
  1416. //value names under class brach REGSTR_KEY_CLASS + class name
  1417. // and for the drivers REGSTR_KEY_CLASSclassnamexxxx
  1418.   REGSTR_VAL_INSTALLER          = 'Installer'; // 16-bit class installer module/entry point
  1419.   {$EXTERNALSYM REGSTR_VAL_INSTALLER}
  1420.   REGSTR_VAL_INSTALLER_32       = 'Installer32'; // 32-bit class installer module/entry point
  1421.   {$EXTERNALSYM REGSTR_VAL_INSTALLER_32}
  1422.   REGSTR_VAL_INSICON            = 'Icon'; // value of classname
  1423.   {$EXTERNALSYM REGSTR_VAL_INSICON}
  1424.   REGSTR_VAL_LEGACYINFOPT       = 'LegacyInfOption'; // used for translating to old-style INF option names
  1425.   {$EXTERNALSYM REGSTR_VAL_LEGACYINFOPT}
  1426.   REGSTR_VAL_ENUMPROPPAGES      = 'EnumPropPages'; // For Class/Device Properties (16-bit)
  1427.   {$EXTERNALSYM REGSTR_VAL_ENUMPROPPAGES}
  1428.   REGSTR_VAL_ENUMPROPPAGES_32   = 'EnumPropPages32'; // For Class/Device Properties (32-bit)
  1429.   {$EXTERNALSYM REGSTR_VAL_ENUMPROPPAGES_32}
  1430.   REGSTR_VAL_BASICPROPERTIES    = 'BasicProperties'; // For CPL basic Properties (16-bit)
  1431.   {$EXTERNALSYM REGSTR_VAL_BASICPROPERTIES}
  1432.   REGSTR_VAL_BASICPROPERTIES_32 = 'BasicProperties32'; // For CPL basic Properties (32-bit)
  1433.   {$EXTERNALSYM REGSTR_VAL_BASICPROPERTIES_32}
  1434.   REGSTR_VAL_COINSTALLERS_32    = 'CoInstallers32'; // Device-specific co-installer multi-sz list (32-bit)
  1435.   {$EXTERNALSYM REGSTR_VAL_COINSTALLERS_32}
  1436.   REGSTR_VAL_PRIVATEPROBLEM     = 'PrivateProblem'; // For Handling Private Problems
  1437.   {$EXTERNALSYM REGSTR_VAL_PRIVATEPROBLEM}
  1438. // names used for display driver set information
  1439.   REGSTR_KEY_CURRENT = 'Current'; // current mode information
  1440.   {$EXTERNALSYM REGSTR_KEY_CURRENT}
  1441.   REGSTR_KEY_DEFAULT = 'Default'; // default configuration
  1442.   {$EXTERNALSYM REGSTR_KEY_DEFAULT}
  1443.   REGSTR_KEY_MODES   = 'Modes'; // modes subtree
  1444.   {$EXTERNALSYM REGSTR_KEY_MODES}
  1445.   REGSTR_VAL_MODE        = 'Mode'; // default mode
  1446.   {$EXTERNALSYM REGSTR_VAL_MODE}
  1447.   REGSTR_VAL_BPP         = 'BPP'; // bits per pixel
  1448.   {$EXTERNALSYM REGSTR_VAL_BPP}
  1449.   REGSTR_VAL_HRES        = 'HRes'; // horizontal resolution
  1450.   {$EXTERNALSYM REGSTR_VAL_HRES}
  1451.   REGSTR_VAL_VRES        = 'VRes'; // vertical resolution
  1452.   {$EXTERNALSYM REGSTR_VAL_VRES}
  1453.   REGSTR_VAL_FONTSIZE    = 'FontSize'; // used in default or override
  1454.   {$EXTERNALSYM REGSTR_VAL_FONTSIZE}
  1455.   REGSTR_VAL_DRV         = 'drv'; // the driver file
  1456.   {$EXTERNALSYM REGSTR_VAL_DRV}
  1457.   REGSTR_VAL_GRB         = 'grb'; // the grabber file
  1458.   {$EXTERNALSYM REGSTR_VAL_GRB}
  1459.   REGSTR_VAL_VDD         = 'vdd'; // vdds used here
  1460.   {$EXTERNALSYM REGSTR_VAL_VDD}
  1461.   REGSTR_VAL_VER         = 'Ver';
  1462.   {$EXTERNALSYM REGSTR_VAL_VER}
  1463.   REGSTR_VAL_MAXRES      = 'MaxResolution'; // max res for monitors
  1464.   {$EXTERNALSYM REGSTR_VAL_MAXRES}
  1465.   REGSTR_VAL_DPMS        = 'DPMS'; // DPMS enabled
  1466.   {$EXTERNALSYM REGSTR_VAL_DPMS}
  1467.   REGSTR_VAL_RESUMERESET = 'ResumeReset'; // need reset on resume
  1468.   {$EXTERNALSYM REGSTR_VAL_RESUMERESET}
  1469.   REGSTR_VAL_DESCRIPTION = 'Description';
  1470.   {$EXTERNALSYM REGSTR_VAL_DESCRIPTION}
  1471. // keys in fontsize tree
  1472.   REGSTR_KEY_SYSTEM = 'System'; // entries for system.ini
  1473.   {$EXTERNALSYM REGSTR_KEY_SYSTEM}
  1474.   REGSTR_KEY_USER   = 'User'; // entries for win.ini
  1475.   {$EXTERNALSYM REGSTR_KEY_USER}
  1476.   REGSTR_VAL_DPI    = 'dpi'; // dpi of fontsize
  1477.   {$EXTERNALSYM REGSTR_VAL_DPI}
  1478. //
  1479. // Used by PCIC socket services
  1480. //
  1481.   REGSTR_VAL_PCICOPTIONS = 'PCICOptions'; // Binary DWORD.  IRQ mask in
  1482.   {$EXTERNALSYM REGSTR_VAL_PCICOPTIONS}
  1483.                                                 // low word.  # skts in high
  1484. {$IFNDEF NEC_98}
  1485.   PCIC_DEFAULT_IRQMASK = $4EB8; // Default IRQ masks
  1486.   {$EXTERNALSYM PCIC_DEFAULT_IRQMASK}
  1487. {$ELSE}
  1488.   PCIC_DEFAULT_IRQMASK = $1468; // Default IRQ masks
  1489.   {$EXTERNALSYM PCIC_DEFAULT_IRQMASK}
  1490. {$ENDIF}
  1491.   PCIC_DEFAULT_NUMSOCKETS = 0; // 0 = Automatic detection
  1492.   {$EXTERNALSYM PCIC_DEFAULT_NUMSOCKETS}
  1493.   REGSTR_VAL_PCICIRQMAP   = 'PCICIRQMap'; // Binary 16 byte IRQ map table
  1494.   {$EXTERNALSYM REGSTR_VAL_PCICIRQMAP}
  1495. // names used for control panel entries
  1496.   REGSTR_PATH_APPEARANCE  = 'Control PanelAppearance';
  1497.   {$EXTERNALSYM REGSTR_PATH_APPEARANCE}
  1498.   REGSTR_PATH_LOOKSCHEMES = 'Control PanelAppearanceSchemes';
  1499.   {$EXTERNALSYM REGSTR_PATH_LOOKSCHEMES}
  1500.   REGSTR_VAL_CUSTOMCOLORS = 'CustomColors';
  1501.   {$EXTERNALSYM REGSTR_VAL_CUSTOMCOLORS}
  1502.   REGSTR_PATH_SCREENSAVE      = 'Control PanelDesktop';
  1503.   {$EXTERNALSYM REGSTR_PATH_SCREENSAVE}
  1504.   REGSTR_VALUE_USESCRPASSWORD = 'ScreenSaveUsePassword';
  1505.   {$EXTERNALSYM REGSTR_VALUE_USESCRPASSWORD}
  1506.   REGSTR_VALUE_SCRPASSWORD    = 'ScreenSave_Data';
  1507.   {$EXTERNALSYM REGSTR_VALUE_SCRPASSWORD}
  1508.   REGSTR_VALUE_LOWPOWERTIMEOUT = 'ScreenSaveLowPowerTimeout';
  1509.   {$EXTERNALSYM REGSTR_VALUE_LOWPOWERTIMEOUT}
  1510.   REGSTR_VALUE_POWEROFFTIMEOUT = 'ScreenSavePowerOffTimeout';
  1511.   {$EXTERNALSYM REGSTR_VALUE_POWEROFFTIMEOUT}
  1512.   REGSTR_VALUE_LOWPOWERACTIVE  = 'ScreenSaveLowPowerActive';
  1513.   {$EXTERNALSYM REGSTR_VALUE_LOWPOWERACTIVE}
  1514.   REGSTR_VALUE_POWEROFFACTIVE  = 'ScreenSavePowerOffActive';
  1515.   {$EXTERNALSYM REGSTR_VALUE_POWEROFFACTIVE}
  1516. // used for Windows applets
  1517.   REGSTR_PATH_WINDOWSAPPLETS = 'SoftwareMicrosoftWindowsCurrentVersionApplets';
  1518.   {$EXTERNALSYM REGSTR_PATH_WINDOWSAPPLETS}
  1519. //
  1520. // system tray.  Flag values defined in systrap.h
  1521. //
  1522.   REGSTR_PATH_SYSTRAY           = 'SoftwareMicrosoftWindowsCurrentVersionAppletsSysTray';
  1523.   {$EXTERNALSYM REGSTR_PATH_SYSTRAY}
  1524.   REGSTR_VAL_SYSTRAYSVCS        = 'Services';
  1525.   {$EXTERNALSYM REGSTR_VAL_SYSTRAYSVCS}
  1526.   REGSTR_VAL_SYSTRAYBATFLAGS    = 'PowerFlags';
  1527.   {$EXTERNALSYM REGSTR_VAL_SYSTRAYBATFLAGS}
  1528.   REGSTR_VAL_SYSTRAYPCCARDFLAGS = 'PCMCIAFlags';
  1529.   {$EXTERNALSYM REGSTR_VAL_SYSTRAYPCCARDFLAGS}
  1530. //
  1531. // Used by system networking components to store per-user values.
  1532. // All keys here are under HKCU.
  1533. //
  1534.   REGSTR_PATH_NETWORK_USERSETTINGS = 'Network';
  1535.   {$EXTERNALSYM REGSTR_PATH_NETWORK_USERSETTINGS}
  1536.   REGSTR_KEY_NETWORK_PERSISTENT = 'Persistent';
  1537.   {$EXTERNALSYM REGSTR_KEY_NETWORK_PERSISTENT}
  1538.   REGSTR_KEY_NETWORK_RECENT     = 'Recent';
  1539.   {$EXTERNALSYM REGSTR_KEY_NETWORK_RECENT}
  1540.   REGSTR_VAL_REMOTE_PATH        = 'RemotePath';
  1541.   {$EXTERNALSYM REGSTR_VAL_REMOTE_PATH}
  1542.   REGSTR_VAL_USER_NAME          = 'UserName';
  1543.   {$EXTERNALSYM REGSTR_VAL_USER_NAME}
  1544.   REGSTR_VAL_PROVIDER_NAME      = 'ProviderName';
  1545.   {$EXTERNALSYM REGSTR_VAL_PROVIDER_NAME}
  1546.   REGSTR_VAL_CONNECTION_TYPE    = 'ConnectionType';
  1547.   {$EXTERNALSYM REGSTR_VAL_CONNECTION_TYPE}
  1548.   REGSTR_VAL_UPGRADE            = 'Upgrade';
  1549.   {$EXTERNALSYM REGSTR_VAL_UPGRADE}
  1550.   REGSTR_KEY_LOGON           = 'Logon';
  1551.   {$EXTERNALSYM REGSTR_KEY_LOGON}
  1552.   REGSTR_VAL_MUSTBEVALIDATED = 'MustBeValidated';
  1553.   {$EXTERNALSYM REGSTR_VAL_MUSTBEVALIDATED}
  1554.   REGSTR_VAL_RUNLOGINSCRIPT  = 'ProcessLoginScript';
  1555.   {$EXTERNALSYM REGSTR_VAL_RUNLOGINSCRIPT}
  1556. //
  1557. // NetworkProvider entries. These entries are under
  1558. // REGSTR_PATH_SERVICESxxxNetworkProvider
  1559. //
  1560.   REGSTR_KEY_NETWORKPROVIDER  = 'NetworkProvider';
  1561.   {$EXTERNALSYM REGSTR_KEY_NETWORKPROVIDER}
  1562.   REGSTR_PATH_NW32NETPROVIDER = REGSTR_PATH_SERVICES + 'NWNP32' + REGSTR_KEY_NETWORKPROVIDER;
  1563.   {$EXTERNALSYM REGSTR_PATH_NW32NETPROVIDER}
  1564.   REGSTR_PATH_MS32NETPROVIDER = REGSTR_PATH_SERVICES + 'MSNP32' + REGSTR_KEY_NETWORKPROVIDER;
  1565.   {$EXTERNALSYM REGSTR_PATH_MS32NETPROVIDER}
  1566.   REGSTR_VAL_AUTHENT_AGENT    = 'AuthenticatingAgent';
  1567.   {$EXTERNALSYM REGSTR_VAL_AUTHENT_AGENT}
  1568. //
  1569. // Entries under REGSTR_PATH_REALMODENET
  1570. //
  1571.   REGSTR_VAL_PREFREDIR     = 'PreferredRedir';
  1572.   {$EXTERNALSYM REGSTR_VAL_PREFREDIR}
  1573.   REGSTR_VAL_AUTOSTART     = 'AutoStart';
  1574.   {$EXTERNALSYM REGSTR_VAL_AUTOSTART}
  1575.   REGSTR_VAL_AUTOLOGON     = 'AutoLogon';
  1576.   {$EXTERNALSYM REGSTR_VAL_AUTOLOGON}
  1577.   REGSTR_VAL_NETCARD       = 'Netcard';
  1578.   {$EXTERNALSYM REGSTR_VAL_NETCARD}
  1579.   REGSTR_VAL_TRANSPORT     = 'Transport';
  1580.   {$EXTERNALSYM REGSTR_VAL_TRANSPORT}
  1581.   REGSTR_VAL_DYNAMIC       = 'Dynamic';
  1582.   {$EXTERNALSYM REGSTR_VAL_DYNAMIC}
  1583.   REGSTR_VAL_TRANSITION    = 'Transition';
  1584.   {$EXTERNALSYM REGSTR_VAL_TRANSITION}
  1585.   REGSTR_VAL_STATICDRIVE   = 'StaticDrive';
  1586.   {$EXTERNALSYM REGSTR_VAL_STATICDRIVE}
  1587.   REGSTR_VAL_LOADHI        = 'LoadHi';
  1588.   {$EXTERNALSYM REGSTR_VAL_LOADHI}
  1589.   REGSTR_VAL_LOADRMDRIVERS = 'LoadRMDrivers';
  1590.   {$EXTERNALSYM REGSTR_VAL_LOADRMDRIVERS}
  1591.   REGSTR_VAL_SETUPN        = 'SetupN';
  1592.   {$EXTERNALSYM REGSTR_VAL_SETUPN}
  1593.   REGSTR_VAL_SETUPNPATH    = 'SetupNPath';
  1594.   {$EXTERNALSYM REGSTR_VAL_SETUPNPATH}
  1595. //
  1596. // Entries under REGSTR_PATH_CVNETWORK
  1597. //
  1598.   REGSTR_VAL_WRKGRP_FORCEMAPPING = 'WrkgrpForceMapping';
  1599.   {$EXTERNALSYM REGSTR_VAL_WRKGRP_FORCEMAPPING}
  1600.   REGSTR_VAL_WRKGRP_REQUIRED     = 'WrkgrpRequired';
  1601.   {$EXTERNALSYM REGSTR_VAL_WRKGRP_REQUIRED}
  1602. //
  1603. // NT-compatible place where the name of the currently logged-on user is stored.
  1604. //
  1605.   REGSTR_PATH_CURRENT_CONTROL_SET = 'SystemCurrentControlSetControl';
  1606.   {$EXTERNALSYM REGSTR_PATH_CURRENT_CONTROL_SET}
  1607.   REGSTR_VAL_CURRENT_USER         = 'Current User';
  1608.   {$EXTERNALSYM REGSTR_VAL_CURRENT_USER}
  1609. // section where password providers are installed (each provider has subkey under this key)
  1610.   REGSTR_PATH_PWDPROVIDER              = 'SystemCurrentControlSetControlPwdProvider';
  1611.   {$EXTERNALSYM REGSTR_PATH_PWDPROVIDER}
  1612.   REGSTR_VAL_PWDPROVIDER_PATH          = 'ProviderPath';
  1613.   {$EXTERNALSYM REGSTR_VAL_PWDPROVIDER_PATH}
  1614.   REGSTR_VAL_PWDPROVIDER_DESC          = 'Description';
  1615.   {$EXTERNALSYM REGSTR_VAL_PWDPROVIDER_DESC}
  1616.   REGSTR_VAL_PWDPROVIDER_CHANGEPWD     = 'ChangePassword';
  1617.   {$EXTERNALSYM REGSTR_VAL_PWDPROVIDER_CHANGEPWD}
  1618.   REGSTR_VAL_PWDPROVIDER_CHANGEPWDHWND = 'ChangePasswordHwnd';
  1619.   {$EXTERNALSYM REGSTR_VAL_PWDPROVIDER_CHANGEPWDHWND}
  1620.   REGSTR_VAL_PWDPROVIDER_GETPWDSTATUS  = 'GetPasswordStatus';
  1621.   {$EXTERNALSYM REGSTR_VAL_PWDPROVIDER_GETPWDSTATUS}
  1622.   REGSTR_VAL_PWDPROVIDER_ISNP          = 'NetworkProvider';
  1623.   {$EXTERNALSYM REGSTR_VAL_PWDPROVIDER_ISNP}
  1624.   REGSTR_VAL_PWDPROVIDER_CHANGEORDER   = 'ChangeOrder';
  1625.   {$EXTERNALSYM REGSTR_VAL_PWDPROVIDER_CHANGEORDER}
  1626. //
  1627. // Used by administrator configuration tool and various components who enforce
  1628. // policies.
  1629. //
  1630.   REGSTR_PATH_POLICIES = 'SoftwareMicrosoftWindowsCurrentVersionPolicies';
  1631.   {$EXTERNALSYM REGSTR_PATH_POLICIES}
  1632. // used to control remote update of administrator policies
  1633.   REGSTR_PATH_UPDATE      = 'SystemCurrentControlSetControlUpdate';
  1634.   {$EXTERNALSYM REGSTR_PATH_UPDATE}
  1635.   REGSTR_VALUE_ENABLE     = 'Enable';
  1636.   {$EXTERNALSYM REGSTR_VALUE_ENABLE}
  1637.   REGSTR_VALUE_VERBOSE    = 'Verbose';
  1638.   {$EXTERNALSYM REGSTR_VALUE_VERBOSE}
  1639.   REGSTR_VALUE_NETPATH    = 'NetworkPath';
  1640.   {$EXTERNALSYM REGSTR_VALUE_NETPATH}
  1641.   REGSTR_VALUE_DEFAULTLOC = 'UseDefaultNetLocation';
  1642.   {$EXTERNALSYM REGSTR_VALUE_DEFAULTLOC}
  1643. //
  1644. //      Entries under REGSTR_PATH_POLICIES
  1645. //
  1646.   REGSTR_KEY_NETWORK   = 'Network';
  1647.   {$EXTERNALSYM REGSTR_KEY_NETWORK}
  1648.   // already defined above
  1649.   // REGSTR_KEY_SYSTEM    = 'System';
  1650.   // {$EXTERNALSYM REGSTR_KEY_SYSTEM}
  1651.   REGSTR_KEY_PRINTERS  = 'Printers';
  1652.   {$EXTERNALSYM REGSTR_KEY_PRINTERS}
  1653.   REGSTR_KEY_WINOLDAPP = 'WinOldApp';
  1654.   {$EXTERNALSYM REGSTR_KEY_WINOLDAPP}
  1655. // (following are values REG_DWORD, legal values 0 or 1, treat as TEXT("0") if value not present)
  1656. // policies under NETWORK key
  1657.   REGSTR_VAL_NOFILESHARING            = 'NoFileSharing'; // TEXT("1") prevents server from loading
  1658.   {$EXTERNALSYM REGSTR_VAL_NOFILESHARING}
  1659.   REGSTR_VAL_NOPRINTSHARING           = 'NoPrintSharing';
  1660.   {$EXTERNALSYM REGSTR_VAL_NOPRINTSHARING}
  1661.   REGSTR_VAL_NOFILESHARINGCTRL        = 'NoFileSharingControl'; // TEXT("1") removes sharing ui
  1662.   {$EXTERNALSYM REGSTR_VAL_NOFILESHARINGCTRL}
  1663.   REGSTR_VAL_NOPRINTSHARINGCTRL       = 'NoPrintSharingControl';
  1664.   {$EXTERNALSYM REGSTR_VAL_NOPRINTSHARINGCTRL}
  1665.   REGSTR_VAL_HIDESHAREPWDS            = 'HideSharePwds'; // TEXT("1") hides share passwords with asterisks
  1666.   {$EXTERNALSYM REGSTR_VAL_HIDESHAREPWDS}
  1667.   REGSTR_VAL_DISABLEPWDCACHING        = 'DisablePwdCaching'; // TEXT("1") disables caching
  1668.   {$EXTERNALSYM REGSTR_VAL_DISABLEPWDCACHING}
  1669.   REGSTR_VAL_ALPHANUMPWDS             = 'AlphanumPwds'; // TEXT("1") forces alphanumeric passwords
  1670.   {$EXTERNALSYM REGSTR_VAL_ALPHANUMPWDS}
  1671.   REGSTR_VAL_NETSETUP_DISABLE         = 'NoNetSetup';
  1672.   {$EXTERNALSYM REGSTR_VAL_NETSETUP_DISABLE}
  1673.   REGSTR_VAL_NETSETUP_NOCONFIGPAGE    = 'NoNetSetupConfigPage';
  1674.   {$EXTERNALSYM REGSTR_VAL_NETSETUP_NOCONFIGPAGE}
  1675.   REGSTR_VAL_NETSETUP_NOIDPAGE        = 'NoNetSetupIDPage';
  1676.   {$EXTERNALSYM REGSTR_VAL_NETSETUP_NOIDPAGE}
  1677.   REGSTR_VAL_NETSETUP_NOSECURITYPAGE  = 'NoNetSetupSecurityPage';
  1678.   {$EXTERNALSYM REGSTR_VAL_NETSETUP_NOSECURITYPAGE}
  1679.   REGSTR_VAL_SYSTEMCPL_NOVIRTMEMPAGE  = 'NoVirtMemPage';
  1680.   {$EXTERNALSYM REGSTR_VAL_SYSTEMCPL_NOVIRTMEMPAGE}
  1681.   REGSTR_VAL_SYSTEMCPL_NODEVMGRPAGE   = 'NoDevMgrPage';
  1682.   {$EXTERNALSYM REGSTR_VAL_SYSTEMCPL_NODEVMGRPAGE}
  1683.   REGSTR_VAL_SYSTEMCPL_NOCONFIGPAGE   = 'NoConfigPage';
  1684.   {$EXTERNALSYM REGSTR_VAL_SYSTEMCPL_NOCONFIGPAGE}
  1685.   REGSTR_VAL_SYSTEMCPL_NOFILESYSPAGE  = 'NoFileSysPage';
  1686.   {$EXTERNALSYM REGSTR_VAL_SYSTEMCPL_NOFILESYSPAGE}
  1687.   REGSTR_VAL_DISPCPL_NODISPCPL        = 'NoDispCPL';
  1688.   {$EXTERNALSYM REGSTR_VAL_DISPCPL_NODISPCPL}
  1689.   REGSTR_VAL_DISPCPL_NOBACKGROUNDPAGE = 'NoDispBackgroundPage';
  1690.   {$EXTERNALSYM REGSTR_VAL_DISPCPL_NOBACKGROUNDPAGE}
  1691.   REGSTR_VAL_DISPCPL_NOSCRSAVPAGE     = 'NoDispScrSavPage';
  1692.   {$EXTERNALSYM REGSTR_VAL_DISPCPL_NOSCRSAVPAGE}
  1693.   REGSTR_VAL_DISPCPL_NOAPPEARANCEPAGE = 'NoDispAppearancePage';
  1694.   {$EXTERNALSYM REGSTR_VAL_DISPCPL_NOAPPEARANCEPAGE}
  1695.   REGSTR_VAL_DISPCPL_NOSETTINGSPAGE   = 'NoDispSettingsPage';
  1696.   {$EXTERNALSYM REGSTR_VAL_DISPCPL_NOSETTINGSPAGE}
  1697.   REGSTR_VAL_SECCPL_NOSECCPL          = 'NoSecCPL';
  1698.   {$EXTERNALSYM REGSTR_VAL_SECCPL_NOSECCPL}
  1699.   REGSTR_VAL_SECCPL_NOPWDPAGE         = 'NoPwdPage';
  1700.   {$EXTERNALSYM REGSTR_VAL_SECCPL_NOPWDPAGE}
  1701.   REGSTR_VAL_SECCPL_NOADMINPAGE       = 'NoAdminPage';
  1702.   {$EXTERNALSYM REGSTR_VAL_SECCPL_NOADMINPAGE}
  1703.   REGSTR_VAL_SECCPL_NOPROFILEPAGE     = 'NoProfilePage';
  1704.   {$EXTERNALSYM REGSTR_VAL_SECCPL_NOPROFILEPAGE}
  1705.   REGSTR_VAL_PRINTERS_HIDETABS        = 'NoPrinterTabs';
  1706.   {$EXTERNALSYM REGSTR_VAL_PRINTERS_HIDETABS}
  1707.   REGSTR_VAL_PRINTERS_NODELETE        = 'NoDeletePrinter';
  1708.   {$EXTERNALSYM REGSTR_VAL_PRINTERS_NODELETE}
  1709.   REGSTR_VAL_PRINTERS_NOADD           = 'NoAddPrinter';
  1710.   {$EXTERNALSYM REGSTR_VAL_PRINTERS_NOADD}
  1711.   REGSTR_VAL_WINOLDAPP_DISABLED       = 'Disabled';
  1712.   {$EXTERNALSYM REGSTR_VAL_WINOLDAPP_DISABLED}
  1713.   REGSTR_VAL_WINOLDAPP_NOREALMODE     = 'NoRealMode';
  1714.   {$EXTERNALSYM REGSTR_VAL_WINOLDAPP_NOREALMODE}
  1715.   REGSTR_VAL_NOENTIRENETWORK          = 'NoEntireNetwork';
  1716.   {$EXTERNALSYM REGSTR_VAL_NOENTIRENETWORK}
  1717.   REGSTR_VAL_NOWORKGROUPCONTENTS      = 'NoWorkgroupContents';
  1718.   {$EXTERNALSYM REGSTR_VAL_NOWORKGROUPCONTENTS}
  1719. // (following are values REG_DWORD, legal values 0 or 1, treat as TEXT("1") if value not present)
  1720. // policies under PoliciesSYSTEM key
  1721.   REGSTR_VAL_UNDOCK_WITHOUT_LOGON     = 'UndockWithoutLogon';
  1722.   {$EXTERNALSYM REGSTR_VAL_UNDOCK_WITHOUT_LOGON}
  1723. // REG_DWORD, 0=off, otherwise value is minimum # of chars to allow in password
  1724.   REGSTR_VAL_MINPWDLEN = 'MinPwdLen';
  1725.   {$EXTERNALSYM REGSTR_VAL_MINPWDLEN}
  1726. // REG_DWORD, 0=off, otherwise value is # of days for pwd to expire
  1727.   REGSTR_VAL_PWDEXPIRATION = 'PwdExpiration';
  1728.   {$EXTERNALSYM REGSTR_VAL_PWDEXPIRATION}
  1729.   REGSTR_VAL_WIN31PROVIDER = 'Win31Provider'; // REG_SZ
  1730.   {$EXTERNALSYM REGSTR_VAL_WIN31PROVIDER}
  1731. // policies under SYSTEM key
  1732.   REGSTR_VAL_DISABLEREGTOOLS = 'DisableRegistryTools';
  1733.   {$EXTERNALSYM REGSTR_VAL_DISABLEREGTOOLS}
  1734.   REGSTR_PATH_WINLOGON          = 'SoftwareMicrosoftWindowsCurrentVersionWinlogon';
  1735.   {$EXTERNALSYM REGSTR_PATH_WINLOGON}
  1736.   REGSTR_VAL_LEGALNOTICECAPTION = 'LegalNoticeCaption'; // REG_SZ
  1737.   {$EXTERNALSYM REGSTR_VAL_LEGALNOTICECAPTION}
  1738.   REGSTR_VAL_LEGALNOTICETEXT    = 'LegalNoticeText'; // REG_SZ
  1739.   {$EXTERNALSYM REGSTR_VAL_LEGALNOTICETEXT}
  1740.   REGSTR_VAL_DRIVE_SPINDOWN     = 'NoDispSpinDown';
  1741.   {$EXTERNALSYM REGSTR_VAL_DRIVE_SPINDOWN}
  1742.   REGSTR_VAL_RESTRICTRUN = 'RestrictRun';
  1743.   {$EXTERNALSYM REGSTR_VAL_RESTRICTRUN}
  1744. //
  1745. //  Entries in policy file.  (Won't be in local registry, only policy hive)
  1746.   REGSTR_KEY_POL_USERS         = 'Users';
  1747.   {$EXTERNALSYM REGSTR_KEY_POL_USERS}
  1748.   REGSTR_KEY_POL_COMPUTERS     = 'Computers';
  1749.   {$EXTERNALSYM REGSTR_KEY_POL_COMPUTERS}
  1750.   REGSTR_KEY_POL_USERGROUPS    = 'UserGroups';
  1751.   {$EXTERNALSYM REGSTR_KEY_POL_USERGROUPS}
  1752.   REGSTR_KEY_POL_DEFAULT       = '.default';
  1753.   {$EXTERNALSYM REGSTR_KEY_POL_DEFAULT}
  1754.   REGSTR_KEY_POL_USERGROUPDATA = 'GroupDataUserGroupsPriority';
  1755.   {$EXTERNALSYM REGSTR_KEY_POL_USERGROUPDATA}
  1756. //
  1757. //      Entries for time zone information under LOCAL_MACHINE
  1758. //
  1759.   REGSTR_PATH_TIMEZONE       = 'SystemCurrentControlSetControlTimeZoneInformation';
  1760.   {$EXTERNALSYM REGSTR_PATH_TIMEZONE}
  1761.   REGSTR_VAL_TZBIAS          = 'Bias';
  1762.   {$EXTERNALSYM REGSTR_VAL_TZBIAS}
  1763.   REGSTR_VAL_TZDLTBIAS       = 'DaylightBias';
  1764.   {$EXTERNALSYM REGSTR_VAL_TZDLTBIAS}
  1765.   REGSTR_VAL_TZSTDBIAS       = 'StandardBias';
  1766.   {$EXTERNALSYM REGSTR_VAL_TZSTDBIAS}
  1767.   REGSTR_VAL_TZACTBIAS       = 'ActiveTimeBias';
  1768.   {$EXTERNALSYM REGSTR_VAL_TZACTBIAS}
  1769.   REGSTR_VAL_TZDLTFLAG       = 'DaylightFlag';
  1770.   {$EXTERNALSYM REGSTR_VAL_TZDLTFLAG}
  1771.   REGSTR_VAL_TZSTDSTART      = 'StandardStart';
  1772.   {$EXTERNALSYM REGSTR_VAL_TZSTDSTART}
  1773.   REGSTR_VAL_TZDLTSTART      = 'DaylightStart';
  1774.   {$EXTERNALSYM REGSTR_VAL_TZDLTSTART}
  1775.   REGSTR_VAL_TZDLTNAME       = 'DaylightName';
  1776.   {$EXTERNALSYM REGSTR_VAL_TZDLTNAME}
  1777.   REGSTR_VAL_TZSTDNAME       = 'StandardName';
  1778.   {$EXTERNALSYM REGSTR_VAL_TZSTDNAME}
  1779.   REGSTR_VAL_TZNOCHANGESTART = 'NoChangeStart';
  1780.   {$EXTERNALSYM REGSTR_VAL_TZNOCHANGESTART}
  1781.   REGSTR_VAL_TZNOCHANGEEND   = 'NoChangeEnd';
  1782.   {$EXTERNALSYM REGSTR_VAL_TZNOCHANGEEND}
  1783.   REGSTR_VAL_TZNOAUTOTIME    = 'DisableAutoDaylightTimeSet';
  1784.   {$EXTERNALSYM REGSTR_VAL_TZNOAUTOTIME}
  1785. //
  1786. //      Entries for floating point processor existence under LOCAL_MACHINE
  1787. //
  1788.   REGSTR_PATH_FLOATINGPOINTPROCESSOR  = 'HARDWAREDESCRIPTIONSystemFloatingPointProcessor';
  1789.   {$EXTERNALSYM REGSTR_PATH_FLOATINGPOINTPROCESSOR}
  1790.   REGSTR_PATH_FLOATINGPOINTPROCESSOR0 = 'HARDWAREDESCRIPTIONSystemFloatingPointProcessor';
  1791.   {$EXTERNALSYM REGSTR_PATH_FLOATINGPOINTPROCESSOR0}
  1792. //
  1793. //      Entries for computer name under LOCAL_MACHINE
  1794. //
  1795.   REGSTR_PATH_COMPUTRNAME = 'SystemCurrentControlSetControlComputerNameComputerName';
  1796.   {$EXTERNALSYM REGSTR_PATH_COMPUTRNAME}
  1797.   REGSTR_VAL_COMPUTRNAME  = 'ComputerName';
  1798.   {$EXTERNALSYM REGSTR_VAL_COMPUTRNAME}
  1799. //      Entry so that we force a reboot on shutdown / single instance dos app
  1800.   REGSTR_PATH_SHUTDOWN       = 'SystemCurrentControlSetControlShutdown';
  1801.   {$EXTERNALSYM REGSTR_PATH_SHUTDOWN}
  1802.   REGSTR_VAL_FORCEREBOOT     = 'ForceReboot';
  1803.   {$EXTERNALSYM REGSTR_VAL_FORCEREBOOT}
  1804.   REGSTR_VAL_SETUPPROGRAMRAN = 'SetupProgramRan';
  1805.   {$EXTERNALSYM REGSTR_VAL_SETUPPROGRAMRAN}
  1806.   REGSTR_VAL_DOES_POLLING    = 'PollingSupportNeeded';
  1807.   {$EXTERNALSYM REGSTR_VAL_DOES_POLLING}
  1808. //
  1809. //      Entries for known system DLLs under LOCAL_MACHINE
  1810. //
  1811. //      The VAL keys here are the actual DLL names (FOO.DLL)
  1812. //
  1813.   REGSTR_PATH_KNOWNDLLS   = 'SystemCurrentControlSetControlSessionManagerKnownDLLs';
  1814.   {$EXTERNALSYM REGSTR_PATH_KNOWNDLLS}
  1815.   REGSTR_PATH_KNOWN16DLLS = 'SystemCurrentControlSetControlSessionManagerKnown16DLLs';
  1816.   {$EXTERNALSYM REGSTR_PATH_KNOWN16DLLS}
  1817. //      Entries here for system dlls we need to version check in case overwritten
  1818.   REGSTR_PATH_CHECKVERDLLS = 'SystemCurrentControlSetControlSessionManagerCheckVerDLLs';
  1819.   {$EXTERNALSYM REGSTR_PATH_CHECKVERDLLS}
  1820.   REGSTR_PATH_WARNVERDLLS  = 'SystemCurrentControlSetControlSessionManagerWarnVerDLLs';
  1821.   {$EXTERNALSYM REGSTR_PATH_WARNVERDLLS}
  1822. //      Entries here for app ini files we (msgsrv32) need to hack
  1823.   REGSTR_PATH_HACKINIFILE = 'SystemCurrentControlSetControlSessionManagerHackIniFiles';
  1824.   {$EXTERNALSYM REGSTR_PATH_HACKINIFILE}
  1825. //      Keys here for bad applications we want to warn the user about before running
  1826.   REGSTR_PATH_CHECKBADAPPS = 'SystemCurrentControlSetControlSessionManagerCheckBadApps';
  1827.   {$EXTERNALSYM REGSTR_PATH_CHECKBADAPPS}
  1828. //      Keys here for applications we need to patch
  1829.   REGSTR_PATH_APPPATCH = 'SystemCurrentControlSetControlSessionManagerAppPatches';
  1830.   {$EXTERNALSYM REGSTR_PATH_APPPATCH}
  1831.   REGSTR_PATH_CHECKBADAPPS400 = 'SystemCurrentControlSetControlSessionManagerCheckBadApps400';
  1832.   {$EXTERNALSYM REGSTR_PATH_CHECKBADAPPS400}
  1833.   REGSTR_PATH_SHELLSERVICEOBJECT        = 'SoftwareMicrosoftWindowsCurrentVersionShellServiceObject';
  1834.   {$EXTERNALSYM REGSTR_PATH_SHELLSERVICEOBJECT}
  1835.   REGSTR_PATH_SHELLSERVICEOBJECTDELAYED = 'SoftwareMicrosoftWindowsCurrentVersionShellServiceObjectDelayLoad';
  1836.   {$EXTERNALSYM REGSTR_PATH_SHELLSERVICEOBJECTDELAYED}
  1837. //
  1838. //      Entries for known system VxDs under LOCAL_MACHINE
  1839. //
  1840. //      The VAL keys here are the full path names of VxDs (c:appvapp.vxd)
  1841. //      It is suggested that the keynames be the same as the module name of
  1842. //      the VxD.
  1843. //      This section is used to dyna-load VxDs with
  1844. //      CreateFile(.vxd_regstr_keyname).
  1845. //
  1846.   REGSTR_PATH_KNOWNVXDS = 'SystemCurrentControlSetControlSessionManagerKnownVxDs';
  1847.   {$EXTERNALSYM REGSTR_PATH_KNOWNVXDS}
  1848. //
  1849. // Entries for values in uninstaller keys under REGSTR_PATH_UNINSTALL  appname
  1850. //
  1851.   REGSTR_VAL_UNINSTALLER_DISPLAYNAME = 'DisplayName';
  1852.   {$EXTERNALSYM REGSTR_VAL_UNINSTALLER_DISPLAYNAME}
  1853.   REGSTR_VAL_UNINSTALLER_COMMANDLINE = 'UninstallString';
  1854.   {$EXTERNALSYM REGSTR_VAL_UNINSTALLER_COMMANDLINE}
  1855. //
  1856. // Entries for values in uninstaller keys under REGSTR_PATH_REINSTALL  instanceid
  1857. //
  1858.   REGSTR_VAL_REINSTALL_DISPLAYNAME        = 'DisplayName';
  1859.   {$EXTERNALSYM REGSTR_VAL_REINSTALL_DISPLAYNAME}
  1860.   REGSTR_VAL_REINSTALL_STRING             = 'ReinstallString';
  1861.   {$EXTERNALSYM REGSTR_VAL_REINSTALL_STRING}
  1862.   REGSTR_VAL_REINSTALL_DEVICEINSTANCEIDS  = 'DeviceInstanceIds';
  1863.   {$EXTERNALSYM REGSTR_VAL_REINSTALL_DEVICEINSTANCEIDS}
  1864. //
  1865. //      Entries for known per user settings: Under HKEY_CURRENT_USER
  1866. //
  1867.   REGSTR_PATH_DESKTOP        = REGSTR_PATH_SCREENSAVE;
  1868.   {$EXTERNALSYM REGSTR_PATH_DESKTOP}
  1869.   REGSTR_PATH_MOUSE          = 'Control PanelMouse';
  1870.   {$EXTERNALSYM REGSTR_PATH_MOUSE}
  1871.   REGSTR_PATH_KEYBOARD       = 'Control PanelKeyboard';
  1872.   {$EXTERNALSYM REGSTR_PATH_KEYBOARD}
  1873.   REGSTR_PATH_COLORS         = 'Control PanelColors';
  1874.   {$EXTERNALSYM REGSTR_PATH_COLORS}
  1875.   REGSTR_PATH_SOUND          = 'Control PanelSound';
  1876.   {$EXTERNALSYM REGSTR_PATH_SOUND}
  1877.   REGSTR_PATH_METRICS        = 'Control PanelDesktopWindowMetrics';
  1878.   {$EXTERNALSYM REGSTR_PATH_METRICS}
  1879.   REGSTR_PATH_ICONS          = 'Control PanelIcons';
  1880.   {$EXTERNALSYM REGSTR_PATH_ICONS}
  1881.   REGSTR_PATH_CURSORS        = 'Control PanelCursors';
  1882.   {$EXTERNALSYM REGSTR_PATH_CURSORS}
  1883.   REGSTR_PATH_CHECKDISK      = 'SoftwareMicrosoftWindowsCurrentVersionAppletsCheck Drive';
  1884.   {$EXTERNALSYM REGSTR_PATH_CHECKDISK}
  1885.   REGSTR_PATH_CHECKDISKSET   = 'Settings';
  1886.   {$EXTERNALSYM REGSTR_PATH_CHECKDISKSET}
  1887.   REGSTR_PATH_CHECKDISKUDRVS = 'NoUnknownDDErrDrvs';
  1888.   {$EXTERNALSYM REGSTR_PATH_CHECKDISKUDRVS}
  1889. //
  1890. //  Entries under REGSTR_PATH_FAULT
  1891. //
  1892.   REGSTR_PATH_FAULT        = 'SoftwareMicrosoftWindowsCurrentVersionFault';
  1893.   {$EXTERNALSYM REGSTR_PATH_FAULT}
  1894.   REGSTR_VAL_FAULT_LOGFILE = 'LogFile';
  1895.   {$EXTERNALSYM REGSTR_VAL_FAULT_LOGFILE}
  1896. //
  1897. //  Entries under REGSTR_PATH_AEDEBUG
  1898. //
  1899.   REGSTR_PATH_AEDEBUG         = 'SoftwareMicrosoftWindows NTCurrentVersionAeDebug';
  1900.   {$EXTERNALSYM REGSTR_PATH_AEDEBUG}
  1901.   REGSTR_VAL_AEDEBUG_DEBUGGER = 'Debugger';
  1902.   {$EXTERNALSYM REGSTR_VAL_AEDEBUG_DEBUGGER}
  1903.   REGSTR_VAL_AEDEBUG_AUTO     = 'Auto';
  1904.   {$EXTERNALSYM REGSTR_VAL_AEDEBUG_AUTO}
  1905. //
  1906. //  Entries under REGSTR_PATH_GRPCONV
  1907. //
  1908.   REGSTR_PATH_GRPCONV = 'SoftwareMicrosoftWindowsCurrentVersionGrpConv';
  1909.   {$EXTERNALSYM REGSTR_PATH_GRPCONV}
  1910. //
  1911. //  Entries under the RegItem key in a shell namespace
  1912. //
  1913.   REGSTR_VAL_REGITEMDELETEMESSAGE = 'Removal Message';
  1914.   {$EXTERNALSYM REGSTR_VAL_REGITEMDELETEMESSAGE}
  1915. //
  1916. //  Entries for the Drives Tools page
  1917. //
  1918. //  NOTE that these items are not recorded for removable drives. These
  1919. //  keys record X=DSKTLSYSTEMTIME where X is the drive letter. Since
  1920. //  these tools actually work on the disk in the drive, as opposed to
  1921. //  the drive itself, it is pointless to record them on a removable media
  1922. //  since if a different disk is inserted in the drive, the data is
  1923. //  meaningless.
  1924. //
  1925.   REGSTR_PATH_LASTCHECK    = 'SoftwareMicrosoftWindowsCurrentVersionExplorerLastCheck';
  1926.   {$EXTERNALSYM REGSTR_PATH_LASTCHECK}
  1927.   REGSTR_PATH_LASTOPTIMIZE = 'SoftwareMicrosoftWindowsCurrentVersionExplorerLastOptimize';
  1928.   {$EXTERNALSYM REGSTR_PATH_LASTOPTIMIZE}
  1929.   REGSTR_PATH_LASTBACKUP   = 'SoftwareMicrosoftWindowsCurrentVersionExplorerLastBackup';
  1930.   {$EXTERNALSYM REGSTR_PATH_LASTBACKUP}
  1931. //
  1932. // The above 3 keys record with the registry value of the drive letter
  1933. // a SYSTEMTIME structure
  1934. //
  1935. //
  1936. // Entries under HKEY_LOCAL_MACHINE for Check Drive specific stuff
  1937. //
  1938.   REGSTR_PATH_CHKLASTCHECK  = 'SoftwareMicrosoftWindowsCurrentVersionAppletsCheck DriveLastCheck';
  1939.   {$EXTERNALSYM REGSTR_PATH_CHKLASTCHECK}
  1940.   REGSTR_PATH_CHKLASTSURFAN = 'SoftwareMicrosoftWindowsCurrentVersionAppletsCheck DriveLastSurfaceAnalysis';
  1941.   {$EXTERNALSYM REGSTR_PATH_CHKLASTSURFAN}
  1942. //
  1943. // The above 2 keys record the following binary structure which is
  1944. // a system time structure with the addition of a result code field.
  1945. // Note that the time part of REGSTR_PATH_CHKLASTCHECK is effectively
  1946. // identical to REGSTR_PATH_LASTCHECK under the explorer key
  1947. //
  1948. type
  1949.   _DSKTLSYSTEMTIME = packed record
  1950.     wYear: WORD;
  1951.     wMonth: WORD;
  1952.     wDayOfWeek: WORD;
  1953.     wDay: WORD;
  1954.     wHour: WORD;
  1955.     wMinute: WORD;
  1956.     wSecond: WORD;
  1957.     wMilliseconds: WORD;
  1958.     wResult: WORD;
  1959.   end;
  1960.   {$EXTERNALSYM _DSKTLSYSTEMTIME}
  1961.   DSKTLSYSTEMTIME = _DSKTLSYSTEMTIME;
  1962.   {$EXTERNALSYM DSKTLSYSTEMTIME}
  1963.   PDSKTLSYSTEMTIME = ^DSKTLSYSTEMTIME;
  1964.   {$EXTERNALSYM PDSKTLSYSTEMTIME}
  1965.   LPDSKTLSYSTEMTIME = ^DSKTLSYSTEMTIME;
  1966.   {$EXTERNALSYM LPDSKTLSYSTEMTIME}
  1967.   TDsktlSystemTime = _DSKTLSYSTEMTIME;
  1968. //
  1969. // The following are defines for the wResult field
  1970. //
  1971. const
  1972.   DTRESULTOK  = 0;  // Operation was successful, no errors
  1973.   {$EXTERNALSYM DTRESULTOK}
  1974.   DTRESULTFIX = 1;  // Operation was successful, errors were found
  1975.   {$EXTERNALSYM DTRESULTFIX}
  1976.                     //   but all were fixed.
  1977.   DTRESULTPROB = 2; // Operation was not successful or errors
  1978.   {$EXTERNALSYM DTRESULTPROB}
  1979.                     //   were found and some or all were not fixed.
  1980.   DTRESULTPART = 3; // Operation was partially completed but was
  1981.   {$EXTERNALSYM DTRESULTPART}
  1982.                     //   terminated either by the user or an error.
  1983. //
  1984. //  Entries for persistent shares
  1985. //
  1986.   REGSTR_KEY_SHARES         = 'SoftwareMicrosoftWindowsCurrentVersionNetworkLanMan';
  1987.   {$EXTERNALSYM REGSTR_KEY_SHARES}
  1988.   REGSTR_VAL_SHARES_FLAGS   = 'Flags';
  1989.   {$EXTERNALSYM REGSTR_VAL_SHARES_FLAGS}
  1990.   REGSTR_VAL_SHARES_TYPE    = 'Type';
  1991.   {$EXTERNALSYM REGSTR_VAL_SHARES_TYPE}
  1992.   REGSTR_VAL_SHARES_PATH    = 'Path';
  1993.   {$EXTERNALSYM REGSTR_VAL_SHARES_PATH}
  1994.   REGSTR_VAL_SHARES_REMARK  = 'Remark';
  1995.   {$EXTERNALSYM REGSTR_VAL_SHARES_REMARK}
  1996.   REGSTR_VAL_SHARES_RW_PASS = 'Parm1';
  1997.   {$EXTERNALSYM REGSTR_VAL_SHARES_RW_PASS}
  1998.   REGSTR_VAL_SHARES_RO_PASS = 'Parm2';
  1999.   {$EXTERNALSYM REGSTR_VAL_SHARES_RO_PASS}
  2000. //
  2001. //      Entries for printer settings under LOCAL_MACHINE
  2002. //
  2003.   REGSTR_PATH_PRINT         = 'SystemCurrentControlSetControlPrint';
  2004.   {$EXTERNALSYM REGSTR_PATH_PRINT}
  2005.   REGSTR_PATH_PRINTERS      = 'SystemCurrentControlSetControlPrintPrinters';
  2006.   {$EXTERNALSYM REGSTR_PATH_PRINTERS}
  2007.   REGSTR_PATH_PROVIDERS     = 'SystemCurrentControlSetControlPrintProviders';
  2008.   {$EXTERNALSYM REGSTR_PATH_PROVIDERS}
  2009.   REGSTR_PATH_MONITORS      = 'SystemCurrentControlSetControlPrintMonitors';
  2010.   {$EXTERNALSYM REGSTR_PATH_MONITORS}
  2011.   REGSTR_PATH_ENVIRONMENTS  = 'SystemCurrentControlSetControlPrintEnvironments';
  2012.   {$EXTERNALSYM REGSTR_PATH_ENVIRONMENTS}
  2013.   REGSTR_VAL_START_ON_BOOT  = 'StartOnBoot';
  2014.   {$EXTERNALSYM REGSTR_VAL_START_ON_BOOT}
  2015.   REGSTR_VAL_PRINTERS_MASK  = 'PrintersMask';
  2016.   {$EXTERNALSYM REGSTR_VAL_PRINTERS_MASK}
  2017.   REGSTR_VAL_DOS_SPOOL_MASK = 'DOSSpoolMask';
  2018.   {$EXTERNALSYM REGSTR_VAL_DOS_SPOOL_MASK}
  2019.   REGSTR_KEY_CURRENT_ENV    = 'Windows 4.0';
  2020.   {$EXTERNALSYM REGSTR_KEY_CURRENT_ENV}
  2021.   REGSTR_KEY_DRIVERS        = 'Drivers';
  2022.   {$EXTERNALSYM REGSTR_KEY_DRIVERS}
  2023.   REGSTR_KEY_PRINT_PROC     = 'Print Processors';
  2024.   {$EXTERNALSYM REGSTR_KEY_PRINT_PROC}
  2025. //
  2026. // Entries for MultiMedia under HKEY_CURRENT_USER
  2027. //
  2028.   REGSTR_PATH_EVENTLABELS      = 'AppEventsEventLabels';
  2029.   {$EXTERNALSYM REGSTR_PATH_EVENTLABELS}
  2030.   REGSTR_PATH_SCHEMES          = 'AppEventsSchemes';
  2031.   {$EXTERNALSYM REGSTR_PATH_SCHEMES}
  2032.   REGSTR_PATH_APPS             = REGSTR_PATH_SCHEMES + 'Apps';
  2033.   {$EXTERNALSYM REGSTR_PATH_APPS}
  2034.   REGSTR_PATH_APPS_DEFAULT     = REGSTR_PATH_SCHEMES + 'Apps.Default';
  2035.   {$EXTERNALSYM REGSTR_PATH_APPS_DEFAULT}
  2036.   REGSTR_PATH_NAMES            = REGSTR_PATH_SCHEMES + 'Names';
  2037.   {$EXTERNALSYM REGSTR_PATH_NAMES}
  2038.   REGSTR_PATH_MULTIMEDIA       = REGSTR_PATH_SETUP + 'Multimedia';
  2039.   {$EXTERNALSYM REGSTR_PATH_MULTIMEDIA}
  2040.   REGSTR_PATH_MULTIMEDIA_AUDIO = 'SoftwareMicrosoftMultimediaAudio';
  2041.   {$EXTERNALSYM REGSTR_PATH_MULTIMEDIA_AUDIO}
  2042.   REGSTR_PATH_MULTIMEDIA_AUDIO_IMAGES = REGSTR_PATH_MULTIMEDIA_AUDIO + 'Images';
  2043.   {$EXTERNALSYM REGSTR_PATH_MULTIMEDIA_AUDIO_IMAGES}
  2044. //
  2045. // Entries for MultiMedia under HKEY_LOCAL_MACHINE
  2046. //
  2047.   REGSTR_PATH_MEDIARESOURCES    = REGSTR_PATH_CURRENT_CONTROL_SET + 'MediaResources';
  2048.   {$EXTERNALSYM REGSTR_PATH_MEDIARESOURCES}
  2049.   REGSTR_PATH_MEDIAPROPERTIES   = REGSTR_PATH_CURRENT_CONTROL_SET + 'MediaProperties';
  2050.   {$EXTERNALSYM REGSTR_PATH_MEDIAPROPERTIES}
  2051.   REGSTR_PATH_PRIVATEPROPERTIES = REGSTR_PATH_MEDIAPROPERTIES + 'PrivateProperties';
  2052.   {$EXTERNALSYM REGSTR_PATH_PRIVATEPROPERTIES}
  2053.   REGSTR_PATH_PUBLICPROPERTIES  = REGSTR_PATH_MEDIAPROPERTIES + 'PublicProperties';
  2054.   {$EXTERNALSYM REGSTR_PATH_PUBLICPROPERTIES}
  2055. // joysticks
  2056.   REGSTR_PATH_JOYOEM     = REGSTR_PATH_PRIVATEPROPERTIES + 'JoystickOEM';
  2057.   {$EXTERNALSYM REGSTR_PATH_JOYOEM}
  2058.   REGSTR_PATH_JOYCONFIG  = REGSTR_PATH_MEDIARESOURCES + 'Joystick';
  2059.   {$EXTERNALSYM REGSTR_PATH_JOYCONFIG}
  2060.   REGSTR_KEY_JOYCURR     = 'CurrentJoystickSettings';
  2061.   {$EXTERNALSYM REGSTR_KEY_JOYCURR}
  2062.   REGSTR_KEY_JOYSETTINGS = 'JoystickSettings';
  2063.   {$EXTERNALSYM REGSTR_KEY_JOYSETTINGS}
  2064. // joystick values found under REGSTR_PATH_JOYCONFIG
  2065.   REGSTR_VAL_JOYUSERVALUES = 'JoystickUserValues';
  2066.   {$EXTERNALSYM REGSTR_VAL_JOYUSERVALUES}
  2067.   REGSTR_VAL_JOYCALLOUT    = 'JoystickCallout';
  2068.   {$EXTERNALSYM REGSTR_VAL_JOYCALLOUT}
  2069. // joystick values found under REGSTR_KEY_JOYCURR and REGSTR_KEY_JOYSETTINGS
  2070.   REGSTR_VAL_JOYNCONFIG     = 'Joystick%dConfiguration';
  2071.   {$EXTERNALSYM REGSTR_VAL_JOYNCONFIG}
  2072.   REGSTR_VAL_JOYNOEMNAME    = 'Joystick%dOEMName';
  2073.   {$EXTERNALSYM REGSTR_VAL_JOYNOEMNAME}
  2074.   REGSTR_VAL_JOYNOEMCALLOUT = 'Joystick%dOEMCallout';
  2075.   {$EXTERNALSYM REGSTR_VAL_JOYNOEMCALLOUT}
  2076. // joystick values found under keys under REGSTR_PATH_JOYOEM
  2077.   REGSTR_VAL_JOYOEMCALLOUT        = 'OEMCallout';
  2078.   {$EXTERNALSYM REGSTR_VAL_JOYOEMCALLOUT}
  2079.   REGSTR_VAL_JOYOEMNAME           = 'OEMName';
  2080.   {$EXTERNALSYM REGSTR_VAL_JOYOEMNAME}
  2081.   REGSTR_VAL_JOYOEMDATA           = 'OEMData';
  2082.   {$EXTERNALSYM REGSTR_VAL_JOYOEMDATA}
  2083.   REGSTR_VAL_JOYOEMXYLABEL        = 'OEMXYLabel';
  2084.   {$EXTERNALSYM REGSTR_VAL_JOYOEMXYLABEL}
  2085.   REGSTR_VAL_JOYOEMZLABEL         = 'OEMZLabel';
  2086.   {$EXTERNALSYM REGSTR_VAL_JOYOEMZLABEL}
  2087.   REGSTR_VAL_JOYOEMRLABEL         = 'OEMRLabel';
  2088.   {$EXTERNALSYM REGSTR_VAL_JOYOEMRLABEL}
  2089.   REGSTR_VAL_JOYOEMPOVLABEL       = 'OEMPOVLabel';
  2090.   {$EXTERNALSYM REGSTR_VAL_JOYOEMPOVLABEL}
  2091.   REGSTR_VAL_JOYOEMULABEL         = 'OEMULabel';
  2092.   {$EXTERNALSYM REGSTR_VAL_JOYOEMULABEL}
  2093.   REGSTR_VAL_JOYOEMVLABEL         = 'OEMVLabel';
  2094.   {$EXTERNALSYM REGSTR_VAL_JOYOEMVLABEL}
  2095.   REGSTR_VAL_JOYOEMTESTMOVEDESC   = 'OEMTestMoveDesc';
  2096.   {$EXTERNALSYM REGSTR_VAL_JOYOEMTESTMOVEDESC}
  2097.   REGSTR_VAL_JOYOEMTESTBUTTONDESC = 'OEMTestButtonDesc';
  2098.   {$EXTERNALSYM REGSTR_VAL_JOYOEMTESTBUTTONDESC}
  2099.   REGSTR_VAL_JOYOEMTESTMOVECAP    = 'OEMTestMoveCap';
  2100.   {$EXTERNALSYM REGSTR_VAL_JOYOEMTESTMOVECAP}
  2101.   REGSTR_VAL_JOYOEMTESTBUTTONCAP  = 'OEMTestButtonCap';
  2102.   {$EXTERNALSYM REGSTR_VAL_JOYOEMTESTBUTTONCAP}
  2103.   REGSTR_VAL_JOYOEMTESTWINCAP     = 'OEMTestWinCap';
  2104.   {$EXTERNALSYM REGSTR_VAL_JOYOEMTESTWINCAP}
  2105.   REGSTR_VAL_JOYOEMCALCAP         = 'OEMCalCap';
  2106.   {$EXTERNALSYM REGSTR_VAL_JOYOEMCALCAP}
  2107.   REGSTR_VAL_JOYOEMCALWINCAP      = 'OEMCalWinCap';
  2108.   {$EXTERNALSYM REGSTR_VAL_JOYOEMCALWINCAP}
  2109.   REGSTR_VAL_JOYOEMCAL1           = 'OEMCal1';
  2110.   {$EXTERNALSYM REGSTR_VAL_JOYOEMCAL1}
  2111.   REGSTR_VAL_JOYOEMCAL2           = 'OEMCal2';
  2112.   {$EXTERNALSYM REGSTR_VAL_JOYOEMCAL2}
  2113.   REGSTR_VAL_JOYOEMCAL3           = 'OEMCal3';
  2114.   {$EXTERNALSYM REGSTR_VAL_JOYOEMCAL3}
  2115.   REGSTR_VAL_JOYOEMCAL4           = 'OEMCal4';
  2116.   {$EXTERNALSYM REGSTR_VAL_JOYOEMCAL4}
  2117.   REGSTR_VAL_JOYOEMCAL5           = 'OEMCal5';
  2118.   {$EXTERNALSYM REGSTR_VAL_JOYOEMCAL5}
  2119.   REGSTR_VAL_JOYOEMCAL6           = 'OEMCal6';
  2120.   {$EXTERNALSYM REGSTR_VAL_JOYOEMCAL6}
  2121.   REGSTR_VAL_JOYOEMCAL7           = 'OEMCal7';
  2122.   {$EXTERNALSYM REGSTR_VAL_JOYOEMCAL7}
  2123.   REGSTR_VAL_JOYOEMCAL8           = 'OEMCal8';
  2124.   {$EXTERNALSYM REGSTR_VAL_JOYOEMCAL8}
  2125.   REGSTR_VAL_JOYOEMCAL9           = 'OEMCal9';
  2126.   {$EXTERNALSYM REGSTR_VAL_JOYOEMCAL9}
  2127.   REGSTR_VAL_JOYOEMCAL10          = 'OEMCal10';
  2128.   {$EXTERNALSYM REGSTR_VAL_JOYOEMCAL10}
  2129.   REGSTR_VAL_JOYOEMCAL11          = 'OEMCal11';
  2130.   {$EXTERNALSYM REGSTR_VAL_JOYOEMCAL11}
  2131.   REGSTR_VAL_JOYOEMCAL12          = 'OEMCal12';
  2132.   {$EXTERNALSYM REGSTR_VAL_JOYOEMCAL12}
  2133. // Image values under REGSTR_PATH_MULTIMEDIA_AUDIO_IMAGES
  2134.   REGSTR_VAL_AUDIO_BITMAP = 'bitmap';
  2135.   {$EXTERNALSYM REGSTR_VAL_AUDIO_BITMAP}
  2136.   REGSTR_VAL_AUDIO_ICON   = 'icon';
  2137.   {$EXTERNALSYM REGSTR_VAL_AUDIO_ICON}
  2138. //
  2139. // Entries for Device Installer under HKEY_CURRENT_USER
  2140. //
  2141.   REGSTR_PATH_DEVICEINSTALLER = 'SoftwareMicrosoftWindowsCurrentVersionDevice Installer';
  2142.   {$EXTERNALSYM REGSTR_PATH_DEVICEINSTALLER}
  2143. // Device Installer values found under REGSTR_PATH_DEVICEINSTALLER
  2144.   REGSTR_VAL_SEARCHOPTIONS = 'SearchOptions';
  2145.   {$EXTERNALSYM REGSTR_VAL_SEARCHOPTIONS}
  2146. // BiosInfo defines.
  2147. {$IFNDEF _KERNEL_PNPI_}
  2148.   REGSTR_PATH_BIOSINFO = 'SystemCurrentControlSetControlBiosInfo';
  2149.   {$EXTERNALSYM REGSTR_PATH_BIOSINFO}
  2150. {$ELSE}
  2151.   REGSTR_PATH_BIOSINFO = 'RegistryMachineSystemCurrentControlSetControlBiosInfo';
  2152.   {$EXTERNALSYM REGSTR_PATH_BIOSINFO}
  2153. {$ENDIF}
  2154. // Pci Irq Routing registry defines.
  2155. {$IFNDEF _KERNEL_PNPI_}
  2156.   REGSTR_PATH_PCIIR        = 'SystemCurrentControlSetControlPnpPciIrqRouting';
  2157.   {$EXTERNALSYM REGSTR_PATH_PCIIR}
  2158.   REGSTR_VAL_OPTIONS       = 'Options';
  2159.   {$EXTERNALSYM REGSTR_VAL_OPTIONS}
  2160.   REGSTR_VAL_STAT          = 'Status';
  2161.   {$EXTERNALSYM REGSTR_VAL_STAT}
  2162.   REGSTR_VAL_TABLE_STAT    = 'TableStatus';
  2163.   {$EXTERNALSYM REGSTR_VAL_TABLE_STAT}
  2164.   REGSTR_VAL_MINIPORT_STAT = 'MiniportStatus';
  2165.   {$EXTERNALSYM REGSTR_VAL_MINIPORT_STAT}
  2166. {$ELSE}
  2167.   REGSTR_PATH_PCIIR        = 'RegistryMachineSystemCurrentControlSetControlPnpPciIrqRouting';
  2168.   {$EXTERNALSYM REGSTR_PATH_PCIIR}
  2169.   REGSTR_VAL_OPTIONS       = 'Options';
  2170.   {$EXTERNALSYM REGSTR_VAL_OPTIONS}
  2171.   REGSTR_VAL_STAT          = 'Status';
  2172.   {$EXTERNALSYM REGSTR_VAL_STAT}
  2173.   REGSTR_VAL_TABLE_STAT    = 'TableStatus';
  2174.   {$EXTERNALSYM REGSTR_VAL_TABLE_STAT}
  2175.   REGSTR_VAL_MINIPORT_STAT = 'MiniportStatus';
  2176.   {$EXTERNALSYM REGSTR_VAL_MINIPORT_STAT}
  2177. {$ENDIF}
  2178. // Pci Irq Routing Option values.
  2179.   PIR_OPTION_ENABLED  = $00000001;
  2180.   {$EXTERNALSYM PIR_OPTION_ENABLED}
  2181.   PIR_OPTION_REGISTRY = $00000002;
  2182.   {$EXTERNALSYM PIR_OPTION_REGISTRY}
  2183.   PIR_OPTION_MSSPEC   = $00000004;
  2184.   {$EXTERNALSYM PIR_OPTION_MSSPEC}
  2185.   PIR_OPTION_REALMODE = $00000008;
  2186.   {$EXTERNALSYM PIR_OPTION_REALMODE}
  2187.   PIR_OPTION_DEFAULT  = $0000000f;
  2188.   {$EXTERNALSYM PIR_OPTION_DEFAULT}
  2189. // Pci Irq Routing Status values.
  2190.   PIR_STATUS_ERROR    = $00000000;
  2191.   {$EXTERNALSYM PIR_STATUS_ERROR}
  2192.   PIR_STATUS_ENABLED  = $00000001;
  2193.   {$EXTERNALSYM PIR_STATUS_ENABLED}
  2194.   PIR_STATUS_DISABLED = $00000002;
  2195.   {$EXTERNALSYM PIR_STATUS_DISABLED}
  2196.   PIR_STATUS_MAX      = $00000003;
  2197.   {$EXTERNALSYM PIR_STATUS_MAX}
  2198.   PIR_STATUS_TABLE_REGISTRY = $00000000;
  2199.   {$EXTERNALSYM PIR_STATUS_TABLE_REGISTRY}
  2200.   PIR_STATUS_TABLE_MSSPEC   = $00000001;
  2201.   {$EXTERNALSYM PIR_STATUS_TABLE_MSSPEC}
  2202.   PIR_STATUS_TABLE_REALMODE = $00000002;
  2203.   {$EXTERNALSYM PIR_STATUS_TABLE_REALMODE}
  2204.   PIR_STATUS_TABLE_NONE     = $00000003;
  2205.   {$EXTERNALSYM PIR_STATUS_TABLE_NONE}
  2206.   PIR_STATUS_TABLE_ERROR    = $00000004;
  2207.   {$EXTERNALSYM PIR_STATUS_TABLE_ERROR}
  2208.   PIR_STATUS_TABLE_BAD      = $00000005;
  2209.   {$EXTERNALSYM PIR_STATUS_TABLE_BAD}
  2210.   PIR_STATUS_TABLE_SUCCESS  = $00000006;
  2211.   {$EXTERNALSYM PIR_STATUS_TABLE_SUCCESS}
  2212.   PIR_STATUS_TABLE_MAX      = $00000007;
  2213.   {$EXTERNALSYM PIR_STATUS_TABLE_MAX}
  2214.   PIR_STATUS_MINIPORT_NORMAL     = $00000000;
  2215.   {$EXTERNALSYM PIR_STATUS_MINIPORT_NORMAL}
  2216.   PIR_STATUS_MINIPORT_COMPATIBLE = $00000001;
  2217.   {$EXTERNALSYM PIR_STATUS_MINIPORT_COMPATIBLE}
  2218.   PIR_STATUS_MINIPORT_OVERRIDE   = $00000002;
  2219.   {$EXTERNALSYM PIR_STATUS_MINIPORT_OVERRIDE}
  2220.   PIR_STATUS_MINIPORT_NONE       = $00000003;
  2221.   {$EXTERNALSYM PIR_STATUS_MINIPORT_NONE}
  2222.   PIR_STATUS_MINIPORT_ERROR      = $00000004;
  2223.   {$EXTERNALSYM PIR_STATUS_MINIPORT_ERROR}
  2224.   PIR_STATUS_MINIPORT_NOKEY      = $00000005;
  2225.   {$EXTERNALSYM PIR_STATUS_MINIPORT_NOKEY}
  2226.   PIR_STATUS_MINIPORT_SUCCESS    = $00000006;
  2227.   {$EXTERNALSYM PIR_STATUS_MINIPORT_SUCCESS}
  2228.   PIR_STATUS_MINIPORT_INVALID    = $00000007;
  2229.   {$EXTERNALSYM PIR_STATUS_MINIPORT_INVALID}
  2230.   PIR_STATUS_MINIPORT_MAX        = $00000008;
  2231.   {$EXTERNALSYM PIR_STATUS_MINIPORT_MAX}
  2232. //
  2233. // entries for LastKnownGood
  2234. // each value name under this key is SubPath/File (note reversal of '\' to '/')
  2235. // each value is an indication of post-processing to be done after files have been recovered
  2236. // LASTGOOD_OPERATION bits indicate the primary post-processing operation
  2237. // remaining bits may be used as flags (allocate flags from highest bits first)
  2238. // a value of 0 is the same as the value being omitted, ie, no post processing.
  2239. //
  2240.   REGSTR_PATH_LASTGOOD            = 'SystemLastKnownGoodRecoveryLastGood';
  2241.   {$EXTERNALSYM REGSTR_PATH_LASTGOOD}
  2242.   REGSTR_PATH_LASTGOODTMP         = 'SystemLastKnownGoodRecoveryLastGood.Tmp';
  2243.   {$EXTERNALSYM REGSTR_PATH_LASTGOODTMP}
  2244.   LASTGOOD_OPERATION              = $000000FF; // operation to perform
  2245.   {$EXTERNALSYM LASTGOOD_OPERATION}
  2246.   LASTGOOD_OPERATION_NOPOSTPROC   = $00000000; // no post-processing
  2247.   {$EXTERNALSYM LASTGOOD_OPERATION_NOPOSTPROC}
  2248.   LASTGOOD_OPERATION_DELETE       = $00000001; // Delete file during recovery
  2249.   {$EXTERNALSYM LASTGOOD_OPERATION_DELETE}
  2250. implementation
  2251. end.