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