1 /***********************************************************************\
2 *                                regstr.d                               *
3 *                                                                       *
4 *                       Windows API header module                       *
5 *                                                                       *
6 *                 Translated from MinGW Windows headers                 *
7 *                                                                       *
8 *                       Placed into public domain                       *
9 \***********************************************************************/
10 module win32.regstr;
11 
12 // TODO: fix possible conflict with shloj. Sort out NEC_98 issue.
13 
14 private import win32.windef;
15 
16 const 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 const DOSOPTGF_DEFCLEAN = 1;
26 
27 const DOSOPTF_DEFAULT     = 0x01;
28 const DOSOPTF_SUPPORTED   = 0x02;
29 const DOSOPTF_ALWAYSUSE   = 0x04;
30 const DOSOPTF_USESPMODE   = 0x08;
31 const DOSOPTF_PROVIDESUMB = 0x10;
32 const DOSOPTF_NEEDSETUP   = 0x20;
33 const DOSOPTF_INDOSSTART  = 0x40;
34 const DOSOPTF_MULTIPLE    = 0x80;
35 
36 const SUF_FIRSTTIME  = 0x0001;
37 const SUF_EXPRESS    = 0x0002;
38 const SUF_BATCHINF   = 0x0004;
39 const SUF_CLEAN      = 0x0008;
40 const SUF_INSETUP    = 0x0010;
41 const SUF_NETSETUP   = 0x0020;
42 const SUF_NETHDBOOT  = 0x0040;
43 const SUF_NETRPLBOOT = 0x0080;
44 const SUF_SBSCOPYOK  = 0x0100;
45 
46 const VPDF_DISABLEPWRMGMT       = 1;
47 const VPDF_FORCEAPM10MODE       = 2;
48 const VPDF_SKIPINTELSLCHECK     = 4;
49 const VPDF_DISABLEPWRSTATUSPOLL = 8;
50 
51 const PCMCIA_OPT_HAVE_SOCKET  = 0x01;
52 const PCMCIA_OPT_AUTOMEM      = 0x04;
53 const PCMCIA_OPT_NO_SOUND     = 0x08;
54 const PCMCIA_OPT_NO_AUDIO     = 0x10;
55 const PCMCIA_OPT_NO_APMREMOVE = 0x20;
56 
57 const PCMCIA_DEF_MEMBEGIN   = 0x0C0000;
58 const PCMCIA_DEF_MEMEND     = 0xFFFFFF;
59 const PCMCIA_DEF_MEMLEN     = 0x001000;
60 const PCMCIA_DEF_MIN_REGION = 0x010000;
61 
62 enum {
63 	PCI_OPTIONS_USE_BIOS         = 1,
64 	PCI_OPTIONS_USE_IRQ_STEERING = 2
65 }
66 
67 const PCI_FLAG_NO_VIDEO_IRQ      = 0x0001;
68 const PCI_FLAG_PCMCIA_WANT_IRQ   = 0x0002;
69 const PCI_FLAG_DUAL_IDE          = 0x0004;
70 const PCI_FLAG_NO_ENUM_AT_ALL    = 0x0008;
71 const PCI_FLAG_ENUM_NO_RESOURCE  = 0x0010;
72 const PCI_FLAG_NEED_DWORD_ACCESS = 0x0020;
73 const PCI_FLAG_SINGLE_FUNCTION   = 0x0040;
74 const PCI_FLAG_ALWAYS_ENABLED    = 0x0080;
75 const PCI_FLAG_IS_IDE            = 0x0100;
76 const PCI_FLAG_IS_VIDEO          = 0x0200;
77 const PCI_FLAG_FAIL_START        = 0x0400;
78 
79 const size_t REGSTR_VAL_MAX_HCID_LEN = 1024;
80 
81 const REGDF_NOTDETIO        = 0x00000001;
82 const REGDF_NOTDETMEM       = 0x00000002;
83 const REGDF_NOTDETIRQ       = 0x00000004;
84 const REGDF_NOTDETDMA       = 0x00000008;
85 const REGDF_NOTDETALL       = REGDF_NOTDETIO | REGDF_NOTDETMEM | REGDF_NOTDETIRQ | REGDF_NOTDETDMA;
86 const REGDF_NEEDFULLCONFIG  = 0x00000010;
87 const REGDF_GENFORCEDCONFIG = 0x00000020;
88 const REGDF_NODETCONFIG     = 0x00008000;
89 const REGDF_CONFLICTIO      = 0x00010000;
90 const REGDF_CONFLICTMEM     = 0x00020000;
91 const REGDF_CONFLICTIRQ     = 0x00040000;
92 const REGDF_CONFLICTDMA     = 0x00080000;
93 const REGDF_CONFLICTALL     = REGDF_CONFLICTIO | REGDF_CONFLICTMEM | REGDF_CONFLICTIRQ | REGDF_CONFLICTDMA;
94 const REGDF_MAPIRQ2TO9      = 0x00100000;
95 const REGDF_NOTVERIFIED     = 0x80000000;
96 
97 const CONFIGFLAG_DISABLED       = 0x0001;
98 const CONFIGFLAG_REMOVED        = 0x0002;
99 const CONFIGFLAG_MANUAL_INSTALL = 0x0004;
100 const CONFIGFLAG_IGNORE_BOOT_LC = 0x0008;
101 const CONFIGFLAG_NET_BOOT       = 0x0010;
102 const CONFIGFLAG_REINSTALL      = 0x0020;
103 const CONFIGFLAG_FAILEDINSTALL  = 0x0040;
104 const CONFIGFLAG_CANTSTOPACHILD = 0x0080;
105 const CONFIGFLAG_OKREMOVEROM    = 0x0100;
106 const CONFIGFLAG_NOREMOVEEXIT   = 0x0200;
107 
108 const CSCONFIGFLAG_DISABLED      = 1;
109 const CSCONFIGFLAG_DO_NOT_CREATE = 2;
110 const CSCONFIGFLAG_DO_NOT_START  = 4;
111 const CSCONFIGFLAG_BITS          = 7;
112 
113 const DMSTATEFLAG_APPLYTOALL = 1;
114 
115 const NUM_RESOURCE_MAP = 256;
116 
117 const MF_FLAGS_EVEN_IF_NO_RESOURCE         = 1;
118 const MF_FLAGS_NO_CREATE_IF_NO_RESOURCE    = 2;
119 const MF_FLAGS_FILL_IN_UNKNOWN_RESOURCE    = 4;
120 const MF_FLAGS_CREATE_BUT_NO_SHOW_DISABLED = 8;
121 
122 const EISAFLAG_NO_IO_MERGE   = 1;
123 const EISAFLAG_SLOT_IO_FIRST = 2;
124 
125 const EISA_NO_MAX_FUNCTION   = 0xFF;
126 
127 const NUM_EISA_RANGES = 4;
128 
129 const APMMENUSUSPEND_DISABLED = 0;
130 const APMMENUSUSPEND_ENABLED  = 1;
131 const APMMENUSUSPEND_UNDOCKED = 2;
132 const 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 const PCIC_DEFAULT_IRQMASK = 0x4EB8;
800 //#else
801 //#define PCIC_DEFAULT_IRQMASK	0x1468
802 //#endif
803 const 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;