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