1 /**
2  * Windows API header module
3  *
4  * Translated from MinGW Windows headers
5  *
6  * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
7  * Source: $(DRUNTIMESRC core/sys/windows/_regstr.d)
8  */
9 module core.sys.windows.regstr;
10 version (Windows):
11 
12 // TODO: fix possible conflict with shloj. Sort out NEC_98 issue.
13 
14 import core.sys.windows.windef;
15 
16 enum REGSTR_MAX_VALUE_LENGTH = 256;
17 
18 enum {
19     IT_COMPACT = 0,
20     IT_TYPICAL,
21     IT_PORTABLE,
22     IT_CUSTOM // = 3
23 }
24 
25 enum DOSOPTGF_DEFCLEAN = 1;
26 
27 enum DOSOPTF_DEFAULT     = 0x01;
28 enum DOSOPTF_SUPPORTED   = 0x02;
29 enum DOSOPTF_ALWAYSUSE   = 0x04;
30 enum DOSOPTF_USESPMODE   = 0x08;
31 enum DOSOPTF_PROVIDESUMB = 0x10;
32 enum DOSOPTF_NEEDSETUP   = 0x20;
33 enum DOSOPTF_INDOSSTART  = 0x40;
34 enum DOSOPTF_MULTIPLE    = 0x80;
35 
36 enum SUF_FIRSTTIME  = 0x0001;
37 enum SUF_EXPRESS    = 0x0002;
38 enum SUF_BATCHINF   = 0x0004;
39 enum SUF_CLEAN      = 0x0008;
40 enum SUF_INSETUP    = 0x0010;
41 enum SUF_NETSETUP   = 0x0020;
42 enum SUF_NETHDBOOT  = 0x0040;
43 enum SUF_NETRPLBOOT = 0x0080;
44 enum SUF_SBSCOPYOK  = 0x0100;
45 
46 enum VPDF_DISABLEPWRMGMT       = 1;
47 enum VPDF_FORCEAPM10MODE       = 2;
48 enum VPDF_SKIPINTELSLCHECK     = 4;
49 enum VPDF_DISABLEPWRSTATUSPOLL = 8;
50 
51 enum PCMCIA_OPT_HAVE_SOCKET  = 0x01;
52 enum PCMCIA_OPT_AUTOMEM      = 0x04;
53 enum PCMCIA_OPT_NO_SOUND     = 0x08;
54 enum PCMCIA_OPT_NO_AUDIO     = 0x10;
55 enum PCMCIA_OPT_NO_APMREMOVE = 0x20;
56 
57 enum PCMCIA_DEF_MEMBEGIN   = 0x0C0000;
58 enum PCMCIA_DEF_MEMEND     = 0xFFFFFF;
59 enum PCMCIA_DEF_MEMLEN     = 0x001000;
60 enum PCMCIA_DEF_MIN_REGION = 0x010000;
61 
62 enum {
63     PCI_OPTIONS_USE_BIOS         = 1,
64     PCI_OPTIONS_USE_IRQ_STEERING = 2
65 }
66 
67 enum PCI_FLAG_NO_VIDEO_IRQ      = 0x0001;
68 enum PCI_FLAG_PCMCIA_WANT_IRQ   = 0x0002;
69 enum PCI_FLAG_DUAL_IDE          = 0x0004;
70 enum PCI_FLAG_NO_ENUM_AT_ALL    = 0x0008;
71 enum PCI_FLAG_ENUM_NO_RESOURCE  = 0x0010;
72 enum PCI_FLAG_NEED_DWORD_ACCESS = 0x0020;
73 enum PCI_FLAG_SINGLE_FUNCTION   = 0x0040;
74 enum PCI_FLAG_ALWAYS_ENABLED    = 0x0080;
75 enum PCI_FLAG_IS_IDE            = 0x0100;
76 enum PCI_FLAG_IS_VIDEO          = 0x0200;
77 enum PCI_FLAG_FAIL_START        = 0x0400;
78 
79 enum size_t REGSTR_VAL_MAX_HCID_LEN = 1024;
80 
81 enum REGDF_NOTDETIO        = 0x00000001;
82 enum REGDF_NOTDETMEM       = 0x00000002;
83 enum REGDF_NOTDETIRQ       = 0x00000004;
84 enum REGDF_NOTDETDMA       = 0x00000008;
85 enum REGDF_NOTDETALL       = REGDF_NOTDETIO | REGDF_NOTDETMEM | REGDF_NOTDETIRQ | REGDF_NOTDETDMA;
86 enum REGDF_NEEDFULLCONFIG  = 0x00000010;
87 enum REGDF_GENFORCEDCONFIG = 0x00000020;
88 enum REGDF_NODETCONFIG     = 0x00008000;
89 enum REGDF_CONFLICTIO      = 0x00010000;
90 enum REGDF_CONFLICTMEM     = 0x00020000;
91 enum REGDF_CONFLICTIRQ     = 0x00040000;
92 enum REGDF_CONFLICTDMA     = 0x00080000;
93 enum REGDF_CONFLICTALL     = REGDF_CONFLICTIO | REGDF_CONFLICTMEM | REGDF_CONFLICTIRQ | REGDF_CONFLICTDMA;
94 enum REGDF_MAPIRQ2TO9      = 0x00100000;
95 enum REGDF_NOTVERIFIED     = 0x80000000;
96 
97 enum CONFIGFLAG_DISABLED       = 0x0001;
98 enum CONFIGFLAG_REMOVED        = 0x0002;
99 enum CONFIGFLAG_MANUAL_INSTALL = 0x0004;
100 enum CONFIGFLAG_IGNORE_BOOT_LC = 0x0008;
101 enum CONFIGFLAG_NET_BOOT       = 0x0010;
102 enum CONFIGFLAG_REINSTALL      = 0x0020;
103 enum CONFIGFLAG_FAILEDINSTALL  = 0x0040;
104 enum CONFIGFLAG_CANTSTOPACHILD = 0x0080;
105 enum CONFIGFLAG_OKREMOVEROM    = 0x0100;
106 enum CONFIGFLAG_NOREMOVEEXIT   = 0x0200;
107 
108 enum CSCONFIGFLAG_DISABLED      = 1;
109 enum CSCONFIGFLAG_DO_NOT_CREATE = 2;
110 enum CSCONFIGFLAG_DO_NOT_START  = 4;
111 enum CSCONFIGFLAG_BITS          = 7;
112 
113 enum DMSTATEFLAG_APPLYTOALL = 1;
114 
115 enum NUM_RESOURCE_MAP = 256;
116 
117 enum MF_FLAGS_EVEN_IF_NO_RESOURCE         = 1;
118 enum MF_FLAGS_NO_CREATE_IF_NO_RESOURCE    = 2;
119 enum MF_FLAGS_FILL_IN_UNKNOWN_RESOURCE    = 4;
120 enum MF_FLAGS_CREATE_BUT_NO_SHOW_DISABLED = 8;
121 
122 enum EISAFLAG_NO_IO_MERGE   = 1;
123 enum EISAFLAG_SLOT_IO_FIRST = 2;
124 
125 enum EISA_NO_MAX_FUNCTION   = 0xFF;
126 
127 enum NUM_EISA_RANGES = 4;
128 
129 enum APMMENUSUSPEND_DISABLED = 0;
130 enum APMMENUSUSPEND_ENABLED  = 1;
131 enum APMMENUSUSPEND_UNDOCKED = 2;
132 enum APMMENUSUSPEND_NOCHANGE = 128;
133 
134 //#ifndef NEC_98
135 const TCHAR[]
136     REGSTR_KEY_ISAENUM             = "ISAPnP",
137     REGSTR_KEY_EISAENUM            = "EISA",
138     REGSTR_VAL_EISA_RANGES         = "EISARanges",
139     REGSTR_VAL_EISA_FUNCTIONS      = "EISAFunctions",
140     REGSTR_VAL_EISA_FUNCTIONS_MASK = "EISAFunctionsMask",
141     REGSTR_VAL_EISA_FLAGS          = "EISAFlags",
142     REGSTR_VAL_EISA_SIMULATE_INT15 = "EISASimulateInt15";
143 // #else
144 // #define REGSTR_KEY_ISAENUM   TEXT("C98PnP")
145 // #define REGSTR_KEY_EISAENUM  TEXT("NESA")
146 // #define  REGSTR_VAL_EISA_RANGES  TEXT("NESARanges")
147 // #define  REGSTR_VAL_EISA_FUNCTIONS   TEXT("NESAFunctions")
148 // #define  REGSTR_VAL_EISA_FUNCTIONS_MASK  TEXT("NESAFunctionsMask")
149 // #define  REGSTR_VAL_EISA_FLAGS   TEXT("NESAFlags")
150 // #define  REGSTR_VAL_EISA_SIMULATE_INT15  TEXT("NESASimulateInt15")
151 // #endif
152 
153 const TCHAR[]
154     REGSTR_KEY_CLASS                     = `Class`,
155     REGSTR_KEY_CONFIG                    = `Config`,
156     REGSTR_KEY_ENUM                      = `Enum`,
157     REGSTR_KEY_ROOTENUM                  = `Root`,
158     REGSTR_KEY_BIOSENUM                  = `BIOS`,
159     REGSTR_KEY_PCMCIAENUM                = `PCMCIA`,
160     REGSTR_KEY_PCIENUM                   = `PCI`,
161     REGSTR_KEY_LOGCONFIG                 = `LogConfig`,
162     REGSTR_KEY_SYSTEMBOARD               = `*PNP0C01`,
163     REGSTR_KEY_APM                       = `*PNP0C05`,
164     REGSTR_KEY_INIUPDATE                 = `IniUpdate`,
165     REG_KEY_INSTDEV                      = `Installed`,
166     REGSTR_KEY_DOSOPTCDROM               = `CD-ROM`,
167     REGSTR_KEY_DOSOPTMOUSE               = `MOUSE`,
168     REGSTR_DEFAULT_INSTANCE              = `0000`,
169     REGSTR_PATH_MOTHERBOARD              = REGSTR_KEY_SYSTEMBOARD ~ `\` ~ REGSTR_DEFAULT_INSTANCE,
170     REGSTR_PATH_SETUP                    = `Software\Microsoft\Windows\CurrentVersion`,
171     REGSTR_PATH_PIFCONVERT               = `Software\Microsoft\Windows\CurrentVersion\PIFConvert`,
172     REGSTR_PATH_MSDOSOPTS                = `Software\Microsoft\Windows\CurrentVersion\MS-DOSOptions`,
173     REGSTR_PATH_MSDOSEMU                 = `Software\Microsoft\Windows\CurrentVersion\MS-DOS Emulation`,
174     REGSTR_PATH_NEWDOSBOX                = `Software\Microsoft\Windows\CurrentVersion\MS-DOS Emulation\AppCompat`,
175     REGSTR_PATH_RUNONCE                  = `Software\Microsoft\Windows\CurrentVersion\RunOnce`,
176     REGSTR_PATH_RUN                      = `Software\Microsoft\Windows\CurrentVersion\Run`,
177     REGSTR_PATH_RUNSERVICESONCE          = `Software\Microsoft\Windows\CurrentVersion\RunServicesOnce`,
178     REGSTR_PATH_RUNSERVICES              = `Software\Microsoft\Windows\CurrentVersion\RunServices`,
179 
180 //#ifndef REGSTR_PATH_EXPLORER /* also in shlobj.h */
181     REGSTR_PATH_EXPLORER                 = `Software\Microsoft\Windows\CurrentVersion\Explorer`,
182 //#endif
183 
184     REGSTR_PATH_DETECT                   = `Software\Microsoft\Windows\CurrentVersion\Detect`,
185     REGSTR_PATH_APPPATHS                 = `Software\Microsoft\Windows\CurrentVersion\App Paths`,
186     REGSTR_PATH_UNINSTALL                = `Software\Microsoft\Windows\CurrentVersion\Uninstall`,
187     REGSTR_PATH_REALMODENET              = `Software\Microsoft\Windows\CurrentVersion\Network\Real Mode Net`,
188     REGSTR_PATH_NETEQUIV                 = `Software\Microsoft\Windows\CurrentVersion\Network\Equivalent`,
189     REGSTR_PATH_CVNETWORK                = `Software\Microsoft\Windows\CurrentVersion\Network`,
190     REGSTR_PATH_IDCONFIGDB               = `System\CurrentControlSet\Control\IDConfigDB`,
191     REGSTR_PATH_CLASS                    = `System\CurrentControlSet\Services\Class`,
192     REGSTR_PATH_DISPLAYSETTINGS          = `Display\Settings`,
193     REGSTR_PATH_FONTS                    = `Display\Fonts`,
194     REGSTR_PATH_ENUM                     = `Enum`,
195     REGSTR_PATH_ROOT                     = `Enum\Root`,
196     REGSTR_PATH_SERVICES                 = `System\CurrentControlSet\Services`,
197     REGSTR_PATH_VXD                      = `System\CurrentControlSet\Services\VxD`,
198     REGSTR_PATH_IOS                      = `System\CurrentControlSet\Services\VxD\IOS`,
199     REGSTR_PATH_VMM                      = `System\CurrentControlSet\Services\VxD\VMM`,
200     REGSTR_PATH_VPOWERD                  = `System\CurrentControlSet\Services\VxD\VPOWERD`,
201     REGSTR_PATH_VNETSUP                  = `System\CurrentControlSet\Services\VxD\VNETSUP`,
202     REGSTR_PATH_NWREDIR                  = `System\CurrentControlSet\Services\VxD\NWREDIR`,
203     REGSTR_PATH_NCPSERVER                = `System\CurrentControlSet\Services\NcpServer\Parameters`,
204     REGSTR_PATH_IOARB                    = `System\CurrentControlSet\Services\Arbitrators\IOArb`,
205     REGSTR_PATH_ADDRARB                  = `System\CurrentControlSet\Services\Arbitrators\AddrArb`,
206     REGSTR_PATH_DMAARB                   = `System\CurrentControlSet\Services\Arbitrators\DMAArb`,
207     REGSTR_PATH_IRQARB                   = `System\CurrentControlSet\Services\Arbitrators\IRQArb`,
208     REGSTR_PATH_CODEPAGE                 = `System\CurrentControlSet\Control\Nls\Codepage`,
209     REGSTR_PATH_FILESYSTEM               = `System\CurrentControlSet\Control\FileSystem`,
210     REGSTR_PATH_FILESYSTEM_NOVOLTRACK    = `System\CurrentControlSet\Control\FileSystem\NoVolTrack`,
211     REGSTR_PATH_CDFS                     = `System\CurrentControlSet\Control\FileSystem\CDFS`,
212     REGSTR_PATH_WINBOOT                  = `System\CurrentControlSet\Control\WinBoot`,
213     REGSTR_PATH_INSTALLEDFILES           = `System\CurrentControlSet\Control\InstalledFiles`,
214     REGSTR_PATH_VMM32FILES               = `System\CurrentControlSet\Control\VMM32Files`,
215 
216     REGSTR_VAL_BITSPERPIXEL              = `BitsPerPixel`,
217     REGSTR_VAL_RESOLUTION                = `Resolution`,
218     REGSTR_VAL_DPILOGICALX               = `DPILogicalX`,
219     REGSTR_VAL_DPILOGICALY               = `DPILogicalY`,
220     REGSTR_VAL_DPIPHYSICALX              = `DPIPhysicalX`,
221     REGSTR_VAL_DPIPHYSICALY              = `DPIPhysicalY`,
222     REGSTR_VAL_REFRESHRATE               = `RefreshRate`,
223     REGSTR_VAL_DISPLAYFLAGS              = `DisplayFlags`,
224     REGSTR_PATH_CONTROLPANEL             = `Control Panel`,
225     REGSTR_PATH_CONTROLSFOLDER           = `Software\Microsoft\Windows\CurrentVersion\Controls Folder`,
226     REGSTR_VAL_DOSCP                     = `OEMCP`,
227     REGSTR_VAL_WINCP                     = `ACP`,
228     REGSTR_PATH_DYNA_ENUM                = `Config Manager\Enum`,
229     REGSTR_VAL_HARDWARE_KEY              = `HardWareKey`,
230     REGSTR_VAL_ALLOCATION                = `Allocation`,
231     REGSTR_VAL_PROBLEM                   = `Problem`,
232     REGSTR_VAL_STATUS                    = `Status`,
233     REGSTR_VAL_DONTUSEMEM                = `DontAllocLastMem`,
234     REGSTR_VAL_SYSTEMROOT                = `SystemRoot`,
235     REGSTR_VAL_BOOTCOUNT                 = `BootCount`,
236     REGSTR_VAL_REALNETSTART              = `RealNetStart`,
237     REGSTR_VAL_MEDIA                     = `MediaPath`,
238     REGSTR_VAL_CONFIG                    = `ConfigPath`,
239     REGSTR_VAL_DEVICEPATH                = `DevicePath`,
240     REGSTR_VAL_SRCPATH                   = `SourcePath`,
241     REGSTR_VAL_OLDWINDIR                 = `OldWinDir`,
242     REGSTR_VAL_SETUPFLAGS                = `SetupFlags`,
243     REGSTR_VAL_REGOWNER                  = `RegisteredOwner`,
244     REGSTR_VAL_REGORGANIZATION           = `RegisteredOrganization`,
245     REGSTR_VAL_LICENSINGINFO             = `LicensingInfo`,
246     REGSTR_VAL_OLDMSDOSVER               = `OldMSDOSVer`,
247     REGSTR_VAL_FIRSTINSTALLDATETIME      = `FirstInstallDateTime`,
248     REGSTR_VAL_INSTALLTYPE               = `InstallType`,
249     REGSTR_VAL_WRAPPER                   = `Wrapper`,
250 
251     REGSTR_KEY_SETUP                     = `\Setup`,
252     REGSTR_VAL_BOOTDIR                   = `BootDir`,
253     REGSTR_VAL_WINBOOTDIR                = `WinbootDir`,
254     REGSTR_VAL_WINDIR                    = `WinDir`,
255     REGSTR_VAL_APPINSTPATH               = `AppInstallPath`,
256     REGSTR_PATH_EBD                      = REGSTR_PATH_SETUP ~ REGSTR_KEY_SETUP ~ `\EBD`,
257     REGSTR_KEY_EBDFILESLOCAL             = `EBDFilesLocale`,
258     REGSTR_KEY_EBDFILESKEYBOARD          = `EBDFilesKeyboard`,
259     REGSTR_KEY_EBDAUTOEXECBATLOCAL       = `EBDAutoexecBatLocale`,
260     REGSTR_KEY_EBDAUTOEXECBATKEYBOARD    = `EBDAutoexecBatKeyboard`,
261     REGSTR_KEY_EBDCONFIGSYSLOCAL         = `EBDConfigSysLocale`,
262     REGSTR_KEY_EBDCONFIGSYSKEYBOARD      = `EBDConfigSysKeyboard`,
263     REGSTR_VAL_MSDOSMODE                 = `MSDOSMode`,
264     REGSTR_VAL_MSDOSMODEDISCARD          = `Discard`,
265     REGSTR_VAL_DOSOPTGLOBALFLAGS         = `GlobalFlags`,
266     REGSTR_VAL_DOSOPTFLAGS               = `Flags`,
267     REGSTR_VAL_OPTORDER                  = `Order`,
268     REGSTR_VAL_CONFIGSYS                 = `Config.Sys`,
269     REGSTR_VAL_AUTOEXEC                  = `Autoexec.Bat`,
270     REGSTR_VAL_STDDOSOPTION              = `StdOption`,
271     REGSTR_VAL_DOSOPTTIP                 = `TipText`,
272 
273     REGSTR_VAL_DOSPAGER                  = `DOSPager`,
274     REGSTR_VAL_VXDGROUPS                 = `VXDGroups`,
275     REGSTR_VAL_VPOWERDFLAGS              = `Flags`,
276 
277     REGSTR_VAL_WORKGROUP                 = `Workgroup`,
278     REGSTR_VAL_DIRECTHOST                = `DirectHost`,
279     REGSTR_VAL_FILESHARING               = `FileSharing`,
280     REGSTR_VAL_PRINTSHARING              = `PrintSharing`,
281     REGSTR_VAL_FIRSTNETDRIVE             = `FirstNetworkDrive`,
282     REGSTR_VAL_MAXCONNECTIONS            = `MaxConnections`,
283     REGSTR_VAL_APISUPPORT                = `APISupport`,
284     REGSTR_VAL_MAXRETRY                  = `MaxRetry`,
285     REGSTR_VAL_MINRETRY                  = `MinRetry`,
286     REGSTR_VAL_SUPPORTLFN                = `SupportLFN`,
287     REGSTR_VAL_SUPPORTBURST              = `SupportBurst`,
288     REGSTR_VAL_SUPPORTTUNNELLING         = `SupportTunnelling`,
289     REGSTR_VAL_FULLTRACE                 = `FullTrace`,
290     REGSTR_VAL_READCACHING               = `ReadCaching`,
291     REGSTR_VAL_SHOWDOTS                  = `ShowDots`,
292     REGSTR_VAL_GAPTIME                   = `GapTime`,
293     REGSTR_VAL_SEARCHMODE                = `SearchMode`,
294     REGSTR_VAL_SHELLVERSION              = `ShellVersion`,
295     REGSTR_VAL_MAXLIP                    = `MaxLIP`,
296     REGSTR_VAL_PRESERVECASE              = `PreserveCase`,
297     REGSTR_VAL_OPTIMIZESFN               = `OptimizeSFN`,
298     REGSTR_VAL_NCP_BROWSEMASTER          = `BrowseMaster`,
299     REGSTR_VAL_NCP_USEPEERBROWSING       = `Use_PeerBrowsing`,
300     REGSTR_VAL_NCP_USESAP                = `Use_Sap`,
301     REGSTR_VAL_WIN31FILESYSTEM           = `Win31FileSystem`,
302     REGSTR_VAL_PRESERVELONGNAMES         = `PreserveLongNames`,
303     REGSTR_VAL_DRIVEWRITEBEHIND          = `DriveWriteBehind`,
304     REGSTR_VAL_ASYNCFILECOMMIT           = `AsyncFileCommit`,
305     REGSTR_VAL_PATHCACHECOUNT            = `PathCache`,
306     REGSTR_VAL_NAMECACHECOUNT            = `NameCache`,
307     REGSTR_VAL_CONTIGFILEALLOC           = `ContigFileAllocSize`,
308     REGSTR_VAL_VOLIDLETIMEOUT            = `VolumeIdleTimeout`,
309     REGSTR_VAL_BUFFIDLETIMEOUT           = `BufferIdleTimeout`,
310     REGSTR_VAL_BUFFAGETIMEOUT            = `BufferAgeTimeout`,
311     REGSTR_VAL_NAMENUMERICTAIL           = `NameNumericTail`,
312     REGSTR_VAL_READAHEADTHRESHOLD        = `ReadAheadThreshold`,
313     REGSTR_VAL_DOUBLEBUFFER              = `DoubleBuffer`,
314     REGSTR_VAL_SOFTCOMPATMODE            = `SoftCompatMode`,
315     REGSTR_VAL_DRIVESPINDOWN             = `DriveSpinDown`,
316     REGSTR_VAL_FORCEPMIO                 = `ForcePMIO`,
317     REGSTR_VAL_FORCERMIO                 = `ForceRMIO`,
318     REGSTR_VAL_LASTBOOTPMDRVS            = `LastBootPMDrvs`,
319     REGSTR_VAL_VIRTUALHDIRQ              = `VirtualHDIRQ`,
320     REGSTR_VAL_SRVNAMECACHECOUNT         = `ServerNameCacheMax`,
321     REGSTR_VAL_SRVNAMECACHE              = `ServerNameCache`,
322     REGSTR_VAL_SRVNAMECACHENETPROV       = `ServerNameCacheNumNets`,
323     REGSTR_VAL_AUTOMOUNT                 = `AutoMountDrives`,
324     REGSTR_VAL_COMPRESSIONMETHOD         = `CompressionAlgorithm`,
325     REGSTR_VAL_COMPRESSIONTHRESHOLD      = `CompressionThreshold`,
326     REGSTR_VAL_CDCACHESIZE               = `CacheSize`,
327     REGSTR_VAL_CDPREFETCH                = `Prefetch`,
328     REGSTR_VAL_CDPREFETCHTAIL            = `PrefetchTail`,
329     REGSTR_VAL_CDRAWCACHE                = `RawCache`,
330     REGSTR_VAL_CDEXTERRORS               = `ExtendedErrors`,
331     REGSTR_VAL_CDSVDSENSE                = `SVDSense`,
332     REGSTR_VAL_CDSHOWVERSIONS            = `ShowVersions`,
333     REGSTR_VAL_CDCOMPATNAMES             = `MSCDEXCompatNames`,
334     REGSTR_VAL_CDNOREADAHEAD             = `NoReadAhead`,
335     REGSTR_VAL_SCSI                      = `SCSI\`,
336     REGSTR_VAL_ESDI                      = `ESDI\`,
337     REGSTR_VAL_FLOP                      = `FLOP\`,
338     REGSTR_VAL_DISK                      = `GenDisk`,
339     REGSTR_VAL_CDROM                     = `GenCD`,
340     REGSTR_VAL_TAPE                      = `TAPE`,
341     REGSTR_VAL_SCANNER                   = `SCANNER`,
342     REGSTR_VAL_FLOPPY                    = `FLOPPY`,
343     REGSTR_VAL_SCSITID                   = `SCSITargetID`,
344     REGSTR_VAL_SCSILUN                   = `SCSILUN`,
345     REGSTR_VAL_REVLEVEL                  = `RevisionLevel`,
346     REGSTR_VAL_PRODUCTID                 = `ProductId`,
347     REGSTR_VAL_PRODUCTTYPE               = `ProductType`,
348     REGSTR_VAL_DEVTYPE                   = `DeviceType`,
349     REGSTR_VAL_REMOVABLE                 = `Removable`,
350     REGSTR_VAL_CURDRVLET                 = `CurrentDriveLetterAssignment`,
351     REGSTR_VAL_USRDRVLET                 = `UserDriveLetterAssignment`,
352     REGSTR_VAL_SYNCDATAXFER              = `SyncDataXfer`,
353     REGSTR_VAL_AUTOINSNOTE               = `AutoInsertNotification`,
354     REGSTR_VAL_DISCONNECT                = `Disconnect`,
355     REGSTR_VAL_INT13                     = `Int13`,
356     REGSTR_VAL_PMODE_INT13               = `PModeInt13`,
357     REGSTR_VAL_USERSETTINGS              = `AdapterSettings`,
358     REGSTR_VAL_NOIDE                     = `NoIDE`,
359     REGSTR_VAL_DISKCLASSNAME             = `DiskDrive`,
360     REGSTR_VAL_CDROMCLASSNAME            = `CDROM`,
361     REGSTR_VAL_FORCELOAD                 = `ForceLoadPD`,
362     REGSTR_VAL_FORCEFIFO                 = `ForceFIFO`,
363     REGSTR_VAL_FORCECL                   = `ForceChangeLine`,
364     REGSTR_VAL_NOUSECLASS                = `NoUseClass`,
365     REGSTR_VAL_NOINSTALLCLASS            = `NoInstallClass`,
366     REGSTR_VAL_NODISPLAYCLASS            = `NoDisplayClass`,
367     REGSTR_VAL_SILENTINSTALL             = `SilentInstall`,
368     REGSTR_KEY_PCMCIA_CLASS              = `PCMCIA`,
369     REGSTR_KEY_SCSI_CLASS                = `SCSIAdapter`,
370     REGSTR_KEY_PORTS_CLASS               = `ports`,
371     REGSTR_KEY_MEDIA_CLASS               = `MEDIA`,
372     REGSTR_KEY_DISPLAY_CLASS             = `Display`,
373     REGSTR_KEY_KEYBOARD_CLASS            = `Keyboard`,
374     REGSTR_KEY_MOUSE_CLASS               = `Mouse`,
375     REGSTR_KEY_MONITOR_CLASS             = `Monitor`,
376     REGSTR_VAL_PCMCIA_OPT                = `Options`,
377     REGSTR_VAL_PCMCIA_MEM                = `Memory`,
378     REGSTR_VAL_PCMCIA_ALLOC              = `AllocMemWin`,
379     REGSTR_VAL_PCMCIA_ATAD               = `ATADelay`,
380     REGSTR_VAL_PCMCIA_SIZ                = `MinRegionSize`,
381     REGSTR_VAL_P1284MDL                  = `Model`,
382     REGSTR_VAL_P1284MFG                  = `Manufacturer`,
383     REGSTR_VAL_ISAPNP                    = `ISAPNP`,
384     REGSTR_VAL_ISAPNP_RDP_OVERRIDE       = `RDPOverRide`,
385     REGSTR_VAL_PCI                       = `PCI`,
386     REGSTR_PCI_OPTIONS                   = `Options`,
387     REGSTR_PCI_DUAL_IDE                  = `PCIDualIDE`,
388 
389     REGSTR_KEY_CRASHES                   = `Crashes`,
390     REGSTR_KEY_DANGERS                   = `Dangers`,
391     REGSTR_KEY_DETMODVARS                = `DetModVars`,
392     REGSTR_KEY_NDISINFO                  = `NDISInfo`,
393     REGSTR_VAL_PROTINIPATH               = `ProtIniPath`,
394     REGSTR_VAL_RESOURCES                 = `Resources`,
395     REGSTR_VAL_CRASHFUNCS                = `CrashFuncs`,
396     REGSTR_VAL_CLASS                     = `Class`,
397     REGSTR_VAL_DEVDESC                   = `DeviceDesc`,
398     REGSTR_VAL_BOOTCONFIG                = `BootConfig`,
399     REGSTR_VAL_DETFUNC                   = `DetFunc`,
400     REGSTR_VAL_DETFLAGS                  = `DetFlags`,
401     REGSTR_VAL_COMPATIBLEIDS             = `CompatibleIDs`,
402     REGSTR_VAL_DETCONFIG                 = `DetConfig`,
403     REGSTR_VAL_VERIFYKEY                 = `VerifyKey`,
404     REGSTR_VAL_COMINFO                   = `ComInfo`,
405     REGSTR_VAL_INFNAME                   = `InfName`,
406     REGSTR_VAL_CARDSPECIFIC              = `CardSpecific`,
407     REGSTR_VAL_NETOSTYPE                 = `NetOSType`,
408     REGSTR_DATA_NETOS_NDIS               = `NDIS`,
409     REGSTR_DATA_NETOS_ODI                = `ODI`,
410     REGSTR_DATA_NETOS_IPX                = `IPX`,
411     REGSTR_VAL_MFG                       = `Mfg`,
412     REGSTR_VAL_SCAN_ONLY_FIRST           = `ScanOnlyFirstDrive`,
413     REGSTR_VAL_SHARE_IRQ                 = `ForceIRQSharing`,
414     REGSTR_VAL_NONSTANDARD_ATAPI         = `NonStandardATAPI`,
415     REGSTR_VAL_IDE_FORCE_SERIALIZE       = `ForceSerialization`,
416     REGSTR_VAL_HWREV                     = `HWRevision`,
417     REGSTR_VAL_ENABLEINTS                = `EnableInts`,
418 
419     REGSTR_VAL_APMBIOSVER                = `APMBiosVer`,
420     REGSTR_VAL_APMFLAGS                  = `APMFlags`,
421     REGSTR_VAL_SLSUPPORT                 = `SLSupport`,
422     REGSTR_VAL_MACHINETYPE               = `MachineType`,
423     REGSTR_VAL_SETUPMACHINETYPE          = `SetupMachineType`,
424     REGSTR_MACHTYPE_UNKNOWN              = `Unknown`,
425     REGSTR_MACHTYPE_IBMPC                = `IBM PC`,
426     REGSTR_MACHTYPE_IBMPCJR              = `IBM PCjr`,
427     REGSTR_MACHTYPE_IBMPCCONV            = `IBM PC Convertible`,
428     REGSTR_MACHTYPE_IBMPCXT              = `IBM PC/XT`,
429     REGSTR_MACHTYPE_IBMPCXT_286          = `IBM PC/XT 286`,
430     REGSTR_MACHTYPE_IBMPCAT              = `IBM PC/AT`,
431     REGSTR_MACHTYPE_IBMPS2_25            = `IBM PS/2-25`,
432     REGSTR_MACHTYPE_IBMPS2_30_286        = `IBM PS/2-30 286`,
433     REGSTR_MACHTYPE_IBMPS2_30            = `IBM PS/2-30`,
434     REGSTR_MACHTYPE_IBMPS2_50            = `IBM PS/2-50`,
435     REGSTR_MACHTYPE_IBMPS2_50Z           = `IBM PS/2-50Z`,
436     REGSTR_MACHTYPE_IBMPS2_55SX          = `IBM PS/2-55SX`,
437     REGSTR_MACHTYPE_IBMPS2_60            = `IBM PS/2-60`,
438     REGSTR_MACHTYPE_IBMPS2_65SX          = `IBM PS/2-65SX`,
439     REGSTR_MACHTYPE_IBMPS2_70            = `IBM PS/2-70`,
440     REGSTR_MACHTYPE_IBMPS2_P70           = `IBM PS/2-P70`,
441     REGSTR_MACHTYPE_IBMPS2_70_80         = `IBM PS/2-70/80`,
442     REGSTR_MACHTYPE_IBMPS2_80            = `IBM PS/2-80`,
443     REGSTR_MACHTYPE_IBMPS2_90            = `IBM PS/2-90`,
444     REGSTR_MACHTYPE_IBMPS1               = `IBM PS/1`,
445     REGSTR_MACHTYPE_PHOENIX_PCAT         = `Phoenix PC/AT Compatible`,
446     REGSTR_MACHTYPE_HP_VECTRA            = `HP Vectra`,
447     REGSTR_MACHTYPE_ATT_PC               = `AT&T PC`,
448     REGSTR_MACHTYPE_ZENITH_PC            = `Zenith PC`,
449     REGSTR_VAL_APMMENUSUSPEND            = `APMMenuSuspend`,
450 
451     REGSTR_VAL_BUSTYPE                   = `BusType`,
452     REGSTR_VAL_CPU                       = `CPU`,
453     REGSTR_VAL_NDP                       = `NDP`,
454     REGSTR_VAL_PNPBIOSVER                = `PnPBIOSVer`,
455     REGSTR_VAL_PNPSTRUCOFFSET            = `PnPStrucOffset`,
456     REGSTR_VAL_PCIBIOSVER                = `PCIBIOSVer`,
457     REGSTR_VAL_HWMECHANISM               = `HWMechanism`,
458     REGSTR_VAL_LASTPCIBUSNUM             = `LastPCIBusNum`,
459     REGSTR_VAL_CONVMEM                   = `ConvMem`,
460     REGSTR_VAL_EXTMEM                    = `ExtMem`,
461     REGSTR_VAL_COMPUTERNAME              = `ComputerName`,
462     REGSTR_VAL_BIOSNAME                  = `BIOSName`,
463     REGSTR_VAL_BIOSVERSION               = `BIOSVersion`,
464     REGSTR_VAL_BIOSDATE                  = `BIOSDate`,
465     REGSTR_VAL_MODEL                     = `Model`,
466     REGSTR_VAL_SUBMODEL                  = `Submodel`,
467     REGSTR_VAL_REVISION                  = `Revision`,
468     REGSTR_VAL_FIFODEPTH                 = `FIFODepth`,
469     REGSTR_VAL_RDINTTHRESHOLD            = `RDIntThreshold`,
470     REGSTR_VAL_WRINTTHRESHOLD            = `WRIntThreshold`,
471     REGSTR_VAL_PRIORITY                  = `Priority`,
472     REGSTR_VAL_DRIVER                    = `Driver`,
473     REGSTR_VAL_FUNCDESC                  = `FunctionDesc`,
474     REGSTR_VAL_FORCEDCONFIG              = `ForcedConfig`,
475     REGSTR_VAL_CONFIGFLAGS               = `ConfigFlags`,
476     REGSTR_VAL_CSCONFIGFLAGS             = `CSConfigFlags`,
477 
478     REGSTR_VAL_ROOT_DEVNODE              = `HTREE\ROOT\0`,
479     REGSTR_VAL_RESERVED_DEVNODE          = `HTREE\RESERVED\0`,
480     REGSTR_PATH_READDATAPORT             = REGSTR_KEY_ISAENUM ~ `\ReadDataPort\0`,
481     REGSTR_PATH_MULTI_FUNCTION           = `MF`,
482     REGSTR_VAL_RESOURCE_MAP              = `ResourceMap`,
483     REGSTR_PATH_CHILD_PREFIX             = `Child`,
484     REGSTR_VAL_MF_FLAGS                  = `MFFlags`,
485     REGSTR_VAL_DRVDESC                   = `DriverDesc`,
486     REGSTR_VAL_DEVLOADER                 = `DevLoader`,
487     REGSTR_VAL_STATICVXD                 = `StaticVxD`,
488     REGSTR_VAL_PROPERTIES                = `Properties`,
489     REGSTR_VAL_MANUFACTURER              = `Manufacturer`,
490     REGSTR_VAL_EXISTS                    = `Exists`,
491     REGSTR_VAL_CMENUMFLAGS               = `CMEnumFlags`,
492     REGSTR_VAL_CMDRIVFLAGS               = `CMDrivFlags`,
493     REGSTR_VAL_ENUMERATOR                = `Enumerator`,
494     REGSTR_VAL_DEVICEDRIVER              = `DeviceDriver`,
495     REGSTR_VAL_PORTNAME                  = `PortName`,
496     REGSTR_VAL_INFPATH                   = `InfPath`,
497     REGSTR_VAL_INFSECTION                = `InfSection`,
498     REGSTR_VAL_POLLING                   = `Polling`,
499     REGSTR_VAL_DONTLOADIFCONFLICT        = `DontLoadIfConflict`,
500     REGSTR_VAL_PORTSUBCLASS              = `PortSubClass`,
501     REGSTR_VAL_NETCLEAN                  = `NetClean`,
502     REGSTR_VAL_IDE_NO_SERIALIZE          = `IDENoSerialize`,
503     REGSTR_VAL_NOCMOSORFDPT              = `NoCMOSorFDPT`,
504     REGSTR_VAL_COMVERIFYBASE             = `COMVerifyBase`,
505     REGSTR_KEY_OVERRIDE                  = `Override`,
506     REGSTR_VAL_CONFIGMG                  = `CONFIGMG`,
507     REGSTR_VAL_SYSDM                     = `SysDM`,
508     REGSTR_VAL_SYSDMFUNC                 = `SysDMFunc`,
509     REGSTR_VAL_PRIVATE                   = `Private`,
510     REGSTR_VAL_PRIVATEFUNC               = `PrivateFunc`,
511     REGSTR_VAL_DETECT                    = `Detect`,
512     REGSTR_VAL_DETECTFUNC                = `DetectFunc`,
513     REGSTR_VAL_ASKFORCONFIG              = `AskForConfig`,
514     REGSTR_VAL_ASKFORCONFIGFUNC          = `AskForConfigFunc`,
515     REGSTR_VAL_WAITFORUNDOCK             = `WaitForUndock`,
516     REGSTR_VAL_WAITFORUNDOCKFUNC         = `WaitForUndockFunc`,
517     REGSTR_VAL_REMOVEROMOKAY             = `RemoveRomOkay`,
518     REGSTR_VAL_REMOVEROMOKAYFUNC         = `RemoveRomOkayFunc`,
519     REGSTR_VAL_CURCONFIG                 = `CurrentConfig`,
520     REGSTR_VAL_FRIENDLYNAME              = `FriendlyName`,
521     REGSTR_VAL_CURRENTCONFIG             = `CurrentConfig`,
522     REGSTR_VAL_MAP                       = `Map`,
523     REGSTR_VAL_ID                        = `CurrentID`,
524     REGSTR_VAL_DOCKED                    = `CurrentDockedState`,
525     REGSTR_VAL_CHECKSUM                  = `CurrentChecksum`,
526     REGSTR_VAL_HWDETECT                  = `HardwareDetect`,
527     REGSTR_VAL_INHIBITRESULTS            = `InhibitResults`,
528     REGSTR_VAL_PROFILEFLAGS              = `ProfileFlags`,
529     REGSTR_KEY_PCMCIA                    = `PCMCIA\`,
530     REGSTR_KEY_PCUNKNOWN                 = `UNKNOWN_MANUFACTURER`,
531     REGSTR_VAL_PCSSDRIVER                = `Driver`,
532     REGSTR_KEY_PCMTD                     = `MTD-`,
533     REGSTR_VAL_PCMTDRIVER                = `MTD`,
534     REGSTR_VAL_HARDWAREID                = `HardwareID`,
535     REGSTR_VAL_INSTALLER                 = `Installer`,
536     REGSTR_VAL_INSICON                   = `Icon`,
537     REGSTR_VAL_ENUMPROPPAGES             = `EnumPropPages`,
538     REGSTR_VAL_BASICPROPERTIES           = `BasicProperties`,
539     REGSTR_VAL_PRIVATEPROBLEM            = `PrivateProblem`,
540     REGSTR_KEY_CURRENT                   = `Current`,
541     REGSTR_KEY_DEFAULT                   = `Default`,
542     REGSTR_KEY_MODES                     = `Modes`,
543     REGSTR_VAL_MODE                      = `Mode`,
544     REGSTR_VAL_BPP                       = `BPP`,
545     REGSTR_VAL_HRES                      = `HRes`,
546     REGSTR_VAL_VRES                      = `VRes`,
547     REGSTR_VAL_FONTSIZE                  = `FontSize`,
548     REGSTR_VAL_DRV                       = `drv`,
549     REGSTR_VAL_GRB                       = `grb`,
550     REGSTR_VAL_VDD                       = `vdd`,
551     REGSTR_VAL_VER                       = `Ver`,
552     REGSTR_VAL_MAXRES                    = `MaxResolution`,
553     REGSTR_VAL_DPMS                      = `DPMS`,
554     REGSTR_VAL_RESUMERESET               = `ResumeReset`,
555     REGSTR_VAL_DESCRIPTION               = `Description`,
556     REGSTR_KEY_SYSTEM                    = `System`,
557     REGSTR_KEY_USER                      = `User`,
558     REGSTR_VAL_DPI                       = `dpi`,
559     REGSTR_VAL_PCICOPTIONS               = `PCICOptions`,
560 
561     REGSTR_VAL_PCICIRQMAP                = `PCICIRQMap`,
562     REGSTR_PATH_APPEARANCE               = `Control Panel\Appearance`,
563     REGSTR_PATH_LOOKSCHEMES              = `Control Panel\Appearance\Schemes`,
564     REGSTR_VAL_CUSTOMCOLORS              = `CustomColors`,
565     REGSTR_PATH_SCREENSAVE               = `Control Panel\Desktop`,
566     REGSTR_VALUE_USESCRPASSWORD          = `ScreenSaveUsePassword`,
567     REGSTR_VALUE_SCRPASSWORD             = `ScreenSave_Data`,
568     REGSTR_VALUE_LOWPOWERTIMEOUT         = `ScreenSaveLowPowerTimeout`,
569     REGSTR_VALUE_POWEROFFTIMEOUT         = `ScreenSavePowerOffTimeout`,
570     REGSTR_VALUE_LOWPOWERACTIVE          = `ScreenSaveLowPowerActive`,
571     REGSTR_VALUE_POWEROFFACTIVE          = `ScreenSavePowerOffActive`,
572     REGSTR_PATH_WINDOWSAPPLETS           = `Software\Microsoft\Windows\CurrentVersion\Applets`,
573     REGSTR_PATH_SYSTRAY                  = `Software\Microsoft\Windows\CurrentVersion\Applets\SysTray`,
574     REGSTR_VAL_SYSTRAYSVCS               = `Services`,
575     REGSTR_VAL_SYSTRAYBATFLAGS           = `PowerFlags`,
576     REGSTR_VAL_SYSTRAYPCCARDFLAGS        = `PCMCIAFlags`,
577     REGSTR_PATH_NETWORK_USERSETTINGS     = `Network`,
578     REGSTR_KEY_NETWORK_PERSISTENT        = `\Persistent`,
579     REGSTR_KEY_NETWORK_RECENT            = `\Recent`,
580     REGSTR_VAL_REMOTE_PATH               = `RemotePath`,
581     REGSTR_VAL_USER_NAME                 = `UserName`,
582     REGSTR_VAL_PROVIDER_NAME             = `ProviderName`,
583     REGSTR_VAL_CONNECTION_TYPE           = `ConnectionType`,
584     REGSTR_VAL_UPGRADE                   = `Upgrade`,
585     REGSTR_KEY_LOGON                     = `\Logon`,
586     REGSTR_VAL_MUSTBEVALIDATED           = `MustBeValidated`,
587     REGSTR_VAL_RUNLOGINSCRIPT            = `ProcessLoginScript`,
588     REGSTR_KEY_NETWORKPROVIDER           = `\NetworkProvider`,
589     REGSTR_PATH_NW32NETPROVIDER          =REGSTR_PATH_SERVICES ~ `\NWNP32` ~ REGSTR_KEY_NETWORKPROVIDER,
590     REGSTR_PATH_MS32NETPROVIDER          =REGSTR_PATH_SERVICES ~ `\MSNP32` ~ REGSTR_KEY_NETWORKPROVIDER,
591     REGSTR_VAL_AUTHENT_AGENT             = `AuthenticatingAgent`,
592     REGSTR_VAL_PREFREDIR                 = `PreferredRedir`,
593     REGSTR_VAL_AUTOSTART                 = `AutoStart`,
594     REGSTR_VAL_AUTOLOGON                 = `AutoLogon`,
595     REGSTR_VAL_NETCARD                   = `Netcard`,
596     REGSTR_VAL_TRANSPORT                 = `Transport`,
597     REGSTR_VAL_DYNAMIC                   = `Dynamic`,
598     REGSTR_VAL_TRANSITION                = `Transition`,
599     REGSTR_VAL_STATICDRIVE               = `StaticDrive`,
600     REGSTR_VAL_LOADHI                    = `LoadHi`,
601     REGSTR_VAL_LOADRMDRIVERS             = `LoadRMDrivers`,
602     REGSTR_VAL_SETUPN                    = `SetupN`,
603     REGSTR_VAL_SETUPNPATH                = `SetupNPath`,
604     REGSTR_VAL_WRKGRP_FORCEMAPPING       = `WrkgrpForceMapping`,
605     REGSTR_VAL_WRKGRP_REQUIRED           = `WrkgrpRequired`,
606     REGSTR_PATH_CURRENT_CONTROL_SET      = `System\CurrentControlSet\Control`,
607     REGSTR_VAL_CURRENT_USER              = `Current User`,
608     REGSTR_PATH_PWDPROVIDER              = `System\CurrentControlSet\Control\PwdProvider`,
609     REGSTR_VAL_PWDPROVIDER_PATH          = `ProviderPath`,
610     REGSTR_VAL_PWDPROVIDER_DESC          = `Description`,
611     REGSTR_VAL_PWDPROVIDER_CHANGEPWD     = `ChangePassword`,
612     REGSTR_VAL_PWDPROVIDER_CHANGEPWDHWND = `ChangePasswordHwnd`,
613     REGSTR_VAL_PWDPROVIDER_GETPWDSTATUS  = `GetPasswordStatus`,
614     REGSTR_VAL_PWDPROVIDER_ISNP          = `NetworkProvider`,
615     REGSTR_VAL_PWDPROVIDER_CHANGEORDER   = `ChangeOrder`,
616     REGSTR_PATH_POLICIES                 = `Software\Microsoft\Windows\CurrentVersion\Policies`,
617     REGSTR_PATH_UPDATE                   = `System\CurrentControlSet\Control\Update`,
618     REGSTR_VALUE_ENABLE                  = `Enable`,
619     REGSTR_VALUE_VERBOSE                 = `Verbose`,
620     REGSTR_VALUE_NETPATH                 = `NetworkPath`,
621     REGSTR_VALUE_DEFAULTLOC              = `UseDefaultNetLocation`,
622     REGSTR_KEY_NETWORK                   = `Network`,
623 // [Redefined] REGSTR_KEY_SYSTEM         = `System`)
624     REGSTR_KEY_PRINTERS                  = `Printers`,
625     REGSTR_KEY_WINOLDAPP                 = `WinOldApp`,
626     REGSTR_VAL_NOFILESHARING             = `NoFileSharing`,
627     REGSTR_VAL_NOPRINTSHARING            = `NoPrintSharing`,
628     REGSTR_VAL_NOFILESHARINGCTRL         = `NoFileSharingControl`,
629     REGSTR_VAL_NOPRINTSHARINGCTRL        = `NoPrintSharingControl`,
630     REGSTR_VAL_HIDESHAREPWDS             = `HideSharePwds`,
631     REGSTR_VAL_DISABLEPWDCACHING         = `DisablePwdCaching`,
632     REGSTR_VAL_ALPHANUMPWDS              = `AlphanumPwds`,
633     REGSTR_VAL_NETSETUP_DISABLE          = `NoNetSetup`,
634     REGSTR_VAL_NETSETUP_NOCONFIGPAGE     = `NoNetSetupConfigPage`,
635     REGSTR_VAL_NETSETUP_NOIDPAGE         = `NoNetSetupIDPage`,
636     REGSTR_VAL_NETSETUP_NOSECURITYPAGE   = `NoNetSetupSecurityPage`,
637     REGSTR_VAL_SYSTEMCPL_NOVIRTMEMPAGE   = `NoVirtMemPage`,
638     REGSTR_VAL_SYSTEMCPL_NODEVMGRPAGE    = `NoDevMgrPage`,
639     REGSTR_VAL_SYSTEMCPL_NOCONFIGPAGE    = `NoConfigPage`,
640     REGSTR_VAL_SYSTEMCPL_NOFILESYSPAGE   = `NoFileSysPage`,
641     REGSTR_VAL_DISPCPL_NODISPCPL         = `NoDispCPL`,
642     REGSTR_VAL_DISPCPL_NOBACKGROUNDPAGE  = `NoDispBackgroundPage`,
643     REGSTR_VAL_DISPCPL_NOSCRSAVPAGE      = `NoDispScrSavPage`,
644     REGSTR_VAL_DISPCPL_NOAPPEARANCEPAGE  = `NoDispAppearancePage`,
645     REGSTR_VAL_DISPCPL_NOSETTINGSPAGE    = `NoDispSettingsPage`,
646     REGSTR_VAL_SECCPL_NOSECCPL           = `NoSecCPL`,
647     REGSTR_VAL_SECCPL_NOPWDPAGE          = `NoPwdPage`,
648     REGSTR_VAL_SECCPL_NOADMINPAGE        = `NoAdminPage`,
649     REGSTR_VAL_SECCPL_NOPROFILEPAGE      = `NoProfilePage`,
650     REGSTR_VAL_PRINTERS_HIDETABS         = `NoPrinterTabs`,
651     REGSTR_VAL_PRINTERS_NODELETE         = `NoDeletePrinter`,
652     REGSTR_VAL_PRINTERS_NOADD            = `NoAddPrinter`,
653     REGSTR_VAL_WINOLDAPP_DISABLED        = `Disabled`,
654     REGSTR_VAL_WINOLDAPP_NOREALMODE      = `NoRealMode`,
655     REGSTR_VAL_NOENTIRENETWORK           = `NoEntireNetwork`,
656     REGSTR_VAL_NOWORKGROUPCONTENTS       = `NoWorkgroupContents`,
657     REGSTR_VAL_MINPWDLEN                 = `MinPwdLen`,
658     REGSTR_VAL_PWDEXPIRATION             = `PwdExpiration`,
659     REGSTR_VAL_WIN31PROVIDER             = `Win31Provider`,
660     REGSTR_VAL_DISABLEREGTOOLS           = `DisableRegistryTools`,
661     REGSTR_PATH_WINLOGON                 = `Software\Microsoft\Windows\CurrentVersion\Winlogon`,
662     REGSTR_VAL_LEGALNOTICECAPTION        = `LegalNoticeCaption`,
663     REGSTR_VAL_LEGALNOTICETEXT           = `LegalNoticeText`,
664     REGSTR_VAL_RESTRICTRUN               = `RestrictRun`,
665     REGSTR_KEY_POL_USERS                 = `Users`,
666     REGSTR_KEY_POL_COMPUTERS             = `Computers`,
667     REGSTR_KEY_POL_USERGROUPS            = `UserGroups`,
668     REGSTR_KEY_POL_DEFAULT               = `.default`,
669     REGSTR_KEY_POL_USERGROUPDATA         = `GroupData\UserGroups\Priority`,
670     REGSTR_PATH_TIMEZONE                 = `System\CurrentControlSet\Control\TimeZoneInformation`,
671     REGSTR_VAL_TZBIAS                    = `Bias`,
672     REGSTR_VAL_TZDLTBIAS                 = `DaylightBias`,
673     REGSTR_VAL_TZSTDBIAS                 = `StandardBias`,
674     REGSTR_VAL_TZACTBIAS                 = `ActiveTimeBias`,
675     REGSTR_VAL_TZDLTFLAG                 = `DaylightFlag`,
676     REGSTR_VAL_TZSTDSTART                = `StandardStart`,
677     REGSTR_VAL_TZDLTSTART                = `DaylightStart`,
678     REGSTR_VAL_TZDLTNAME                 = `DaylightName`,
679     REGSTR_VAL_TZSTDNAME                 = `StandardName`,
680     REGSTR_VAL_TZNOCHANGESTART           = `NoChangeStart`,
681     REGSTR_VAL_TZNOCHANGEEND             = `NoChangeEnd`,
682     REGSTR_VAL_TZNOAUTOTIME              = `DisableAutoDaylightTimeSet`,
683     REGSTR_PATH_FLOATINGPOINTPROCESSOR   = `HARDWARE\DESCRIPTION\System\FloatingPointProcessor`,
684     REGSTR_PATH_FLOATINGPOINTPROCESSOR0  = `HARDWARE\DESCRIPTION\System\FloatingPointProcessor\0`,
685     REGSTR_PATH_COMPUTRNAME              = `System\CurrentControlSet\Control\ComputerName\ComputerName`,
686     REGSTR_VAL_COMPUTRNAME               = `ComputerName`,
687     REGSTR_PATH_SHUTDOWN                 = `System\CurrentControlSet\Control\Shutdown`,
688     REGSTR_VAL_FORCEREBOOT               = `ForceReboot`,
689     REGSTR_VAL_SETUPPROGRAMRAN           = `SetupProgramRan`,
690     REGSTR_VAL_DOES_POLLING              = `PollingSupportNeeded`,
691     REGSTR_PATH_KNOWNDLLS                = `System\CurrentControlSet\Control\SessionManager\KnownDLLs`,
692     REGSTR_PATH_KNOWN16DLLS              = `System\CurrentControlSet\Control\SessionManager\Known16DLLs`,
693     REGSTR_PATH_CHECKVERDLLS             = `System\CurrentControlSet\Control\SessionManager\CheckVerDLLs`,
694     REGSTR_PATH_WARNVERDLLS              = `System\CurrentControlSet\Control\SessionManager\WarnVerDLLs`,
695     REGSTR_PATH_HACKINIFILE              = `System\CurrentControlSet\Control\SessionManager\HackIniFiles`,
696     REGSTR_PATH_CHECKBADAPPS             = `System\CurrentControlSet\Control\SessionManager\CheckBadApps`,
697     REGSTR_PATH_APPPATCH                 = `System\CurrentControlSet\Control\SessionManager\AppPatches`,
698     REGSTR_PATH_KNOWNVXDS                = `System\CurrentControlSet\Control\SessionManager\KnownVxDs`,
699     REGSTR_VAL_UNINSTALLER_DISPLAYNAME   = `DisplayName`,
700     REGSTR_VAL_UNINSTALLER_COMMANDLINE   = `UninstallString`,
701     REGSTR_PATH_DESKTOP                  = REGSTR_PATH_SCREENSAVE,
702     REGSTR_PATH_MOUSE                    = `Control Panel\Mouse`,
703     REGSTR_PATH_KEYBOARD                 = `Control Panel\Keyboard`,
704     REGSTR_PATH_COLORS                   = `Control Panel\Colors`,
705     REGSTR_PATH_SOUND                    = `Control Panel\Sound`,
706     REGSTR_PATH_METRICS                  = `Control Panel\Desktop\WindowMetrics`,
707     REGSTR_PATH_ICONS                    = `Control Panel\Icons`,
708     REGSTR_PATH_CURSORS                  = `Control Panel\Cursors`,
709     REGSTR_PATH_CHECKDISK                = `Software\Microsoft\Windows\CurrentVersion\Applets\Check Drive`,
710     REGSTR_PATH_CHECKDISKSET             = `Settings`,
711     REGSTR_PATH_CHECKDISKUDRVS           = `NoUnknownDDErrDrvs`,
712     REGSTR_PATH_FAULT                    = `Software\Microsoft\Windows\CurrentVersion\Fault`,
713     REGSTR_VAL_FAULT_LOGFILE             = `LogFile`,
714     REGSTR_PATH_AEDEBUG                  = `Software\Microsoft\Windows NT\CurrentVersion\AeDebug`,
715     REGSTR_VAL_AEDEBUG_DEBUGGER          = `Debugger`,
716     REGSTR_VAL_AEDEBUG_AUTO              = `Auto`,
717     REGSTR_PATH_GRPCONV                  = `Software\Microsoft\Windows\CurrentVersion\GrpConv`,
718     REGSTR_VAL_REGITEMDELETEMESSAGE      = `Removal Message`,
719     REGSTR_PATH_LASTCHECK                = `Software\Microsoft\Windows\CurrentVersion\Explorer\LastCheck`,
720     REGSTR_PATH_LASTOPTIMIZE             = `Software\Microsoft\Windows\CurrentVersion\Explorer\LastOptimize`,
721     REGSTR_PATH_LASTBACKUP               = `Software\Microsoft\Windows\CurrentVersion\Explorer\LastBackup`,
722     REGSTR_PATH_CHKLASTCHECK             = `Software\Microsoft\Windows\CurrentVersion\Applets\Check Drive\LastCheck`,
723     REGSTR_PATH_CHKLASTSURFAN            = `Software\Microsoft\Windows\CurrentVersion\Applets\Check Drive\LastSurfaceAnalysis`,
724     REGSTR_KEY_SHARES                    = `Software\Microsoft\Windows\CurrentVersion\Network\LanMan`,
725     REGSTR_VAL_SHARES_FLAGS              = `Flags`,
726     REGSTR_VAL_SHARES_TYPE               = `Type`,
727     REGSTR_VAL_SHARES_PATH               = `Path`,
728     REGSTR_VAL_SHARES_REMARK             = `Remark`,
729     REGSTR_VAL_SHARES_RW_PASS            = `Parm1`,
730     REGSTR_VAL_SHARES_RO_PASS            = `Parm2`,
731     REGSTR_PATH_PRINT                    = `System\CurrentControlSet\Control\Print`,
732     REGSTR_PATH_PRINTERS                 = `System\CurrentControlSet\Control\Print\Printers`,
733     REGSTR_PATH_PROVIDERS                = `System\CurrentControlSet\Control\Print\Providers`,
734     REGSTR_PATH_MONITORS                 = `System\CurrentControlSet\Control\Print\Monitors`,
735     REGSTR_PATH_ENVIRONMENTS             = `System\CurrentControlSet\Control\Print\Environments`,
736     REGSTR_VAL_START_ON_BOOT             = `StartOnBoot`,
737     REGSTR_VAL_PRINTERS_MASK             = `PrintersMask`,
738     REGSTR_VAL_DOS_SPOOL_MASK            = `DOSSpoolMask`,
739     REGSTR_KEY_CURRENT_ENV               = `\Windows 4.0`,
740     REGSTR_KEY_DRIVERS                   = `\Drivers`,
741     REGSTR_KEY_PRINT_PROC                = `\Print Processors`,
742     REGSTR_PATH_EVENTLABELS              = `AppEvents\EventLabels`,
743     REGSTR_PATH_SCHEMES                  = `AppEvents\Schemes`,
744     REGSTR_PATH_APPS                     = REGSTR_PATH_SCHEMES ~ `\Apps`,
745     REGSTR_PATH_APPS_DEFAULT             = REGSTR_PATH_SCHEMES ~ `\Apps\.Default`,
746     REGSTR_PATH_NAMES                    = REGSTR_PATH_SCHEMES ~ `\Names`,
747     REGSTR_PATH_MULTIMEDIA               = REGSTR_PATH_SETUP ~ `\Multimedia`,
748     REGSTR_PATH_MULTIMEDIA_AUDIO         = `Software\Microsoft\Multimedia\Audio`,
749     REGSTR_PATH_MEDIARESOURCES           = REGSTR_PATH_CURRENT_CONTROL_SET ~ `\MediaResources`,
750     REGSTR_PATH_MEDIAPROPERTIES          = REGSTR_PATH_CURRENT_CONTROL_SET ~ `\MediaProperties`,
751     REGSTR_PATH_PRIVATEPROPERTIES        = REGSTR_PATH_MEDIAPROPERTIES ~ `\PrivateProperties`,
752     REGSTR_PATH_PUBLICPROPERTIES         = REGSTR_PATH_MEDIAPROPERTIES ~ `\PublicProperties`,
753     REGSTR_PATH_JOYOEM                   = REGSTR_PATH_PRIVATEPROPERTIES ~ `\Joystick\OEM`,
754     REGSTR_PATH_JOYCONFIG                = REGSTR_PATH_MEDIARESOURCES ~ `\Joystick`,
755     REGSTR_KEY_JOYCURR                   = `CurrentJoystickSettings`,
756     REGSTR_KEY_JOYSETTINGS               = `JoystickSettings`,
757     REGSTR_VAL_JOYUSERVALUES             = `JoystickUserValues`,
758     REGSTR_VAL_JOYCALLOUT                = `JoystickCallout`,
759     REGSTR_VAL_JOYNCONFIG                = `Joystick%dConfiguration`,
760     REGSTR_VAL_JOYNOEMNAME               = `Joystick%dOEMName`,
761     REGSTR_VAL_JOYNOEMCALLOUT            = `Joystick%dOEMCallout`,
762     REGSTR_VAL_JOYOEMCALLOUT             = `OEMCallout`,
763     REGSTR_VAL_JOYOEMNAME                = `OEMName`,
764     REGSTR_VAL_JOYOEMDATA                = `OEMData`,
765     REGSTR_VAL_JOYOEMXYLABEL             = `OEMXYLabel`,
766     REGSTR_VAL_JOYOEMZLABEL              = `OEMZLabel`,
767     REGSTR_VAL_JOYOEMRLABEL              = `OEMRLabel`,
768     REGSTR_VAL_JOYOEMPOVLABEL            = `OEMPOVLabel`,
769     REGSTR_VAL_JOYOEMULABEL              = `OEMULabel`,
770     REGSTR_VAL_JOYOEMVLABEL              = `OEMVLabel`,
771     REGSTR_VAL_JOYOEMTESTMOVEDESC        = `OEMTestMoveDesc`,
772     REGSTR_VAL_JOYOEMTESTBUTTONDESC      = `OEMTestButtonDesc`,
773     REGSTR_VAL_JOYOEMTESTMOVECAP         = `OEMTestMoveCap`,
774     REGSTR_VAL_JOYOEMTESTBUTTONCAP       = `OEMTestButtonCap`,
775     REGSTR_VAL_JOYOEMTESTWINCAP          = `OEMTestWinCap`,
776     REGSTR_VAL_JOYOEMCALCAP              = `OEMCalCap`,
777     REGSTR_VAL_JOYOEMCALWINCAP           = `OEMCalWinCap`,
778     REGSTR_VAL_JOYOEMCAL1                = `OEMCal1`,
779     REGSTR_VAL_JOYOEMCAL2                = `OEMCal2`,
780     REGSTR_VAL_JOYOEMCAL3                = `OEMCal3`,
781     REGSTR_VAL_JOYOEMCAL4                = `OEMCal4`,
782     REGSTR_VAL_JOYOEMCAL5                = `OEMCal5`,
783     REGSTR_VAL_JOYOEMCAL6                = `OEMCal6`,
784     REGSTR_VAL_JOYOEMCAL7                = `OEMCal7`,
785     REGSTR_VAL_JOYOEMCAL8                = `OEMCal8`,
786     REGSTR_VAL_JOYOEMCAL9                = `OEMCal9`,
787     REGSTR_VAL_JOYOEMCAL10               = `OEMCal10`,
788     REGSTR_VAL_JOYOEMCAL11               = `OEMCal11`,
789     REGSTR_VAL_JOYOEMCAL12               = `OEMCal12`;
790 
791 enum {
792     DTRESULTOK,
793     DTRESULTFIX,
794     DTRESULTPROB,
795     DTRESULTPART
796 }
797 
798 //#ifndef NEC_98
799 enum PCIC_DEFAULT_IRQMASK = 0x4EB8;
800 //#else
801 //#define PCIC_DEFAULT_IRQMASK  0x1468
802 //#endif
803 enum PCIC_DEFAULT_NUMSOCKETS = 0;
804 
805 struct DSKTLSYSTEMTIME {
806     WORD wYear;
807     WORD wMonth;
808     WORD wDayOfWeek;
809     WORD wDay;
810     WORD wHour;
811     WORD wMinute;
812     WORD wSecond;
813     WORD wMilliseconds;
814     WORD wResult;
815 }
816 alias DSKTLSYSTEMTIME* PDSKTLSYSTEMTIME, LPDSKTLSYSTEMTIME;