xref: /reactos/ntoskrnl/config/cmdata.c (revision 14d3b53c)
1 /*
2  * PROJECT:         ReactOS Kernel
3  * LICENSE:         GPL - See COPYING in the top level directory
4  * FILE:            ntoskrnl/config/cmdata.c
5  * PURPOSE:         Configuration Manager - Global Configuration Data
6  * PROGRAMMERS:     Alex Ionescu (alex.ionescu@reactos.org)
7  */
8 
9 /* INCLUDES ******************************************************************/
10 
11 #include "ntoskrnl.h"
12 #define NDEBUG
13 #include "debug.h"
14 #include "./../mm/ARM3/miarm.h"
15 
16 /* GLOBALS *******************************************************************/
17 
18 ULONG DummyData;
19 ULONG CmNtGlobalFlag;
20 extern ULONG MmProductType;
21 
22 WCHAR CmDefaultLanguageId[12];
23 ULONG CmDefaultLanguageIdLength = sizeof(CmDefaultLanguageId);
24 ULONG CmDefaultLanguageIdType;
25 
26 WCHAR CmInstallUILanguageId[12];
27 ULONG CmInstallUILanguageIdLength = sizeof(CmInstallUILanguageId);
28 ULONG CmInstallUILanguageIdType;
29 
30 WCHAR CmSuiteBuffer[128];
31 ULONG CmSuiteBufferLength = sizeof(CmSuiteBuffer);
32 ULONG CmSuiteBufferType;
33 
34 CMHIVE CmControlHive;
35 
36 ULONG CmpConfigurationAreaSize = PAGE_SIZE * 4;
37 PCM_FULL_RESOURCE_DESCRIPTOR CmpConfigurationData;
38 
39 EX_PUSH_LOCK CmpHiveListHeadLock, CmpLoadHiveLock;
40 
41 HIVE_LIST_ENTRY CmpMachineHiveList[] =
42 {
43     { L"HARDWARE", L"MACHINE\\", NULL, HIVE_VOLATILE    , 0 ,   NULL,   FALSE,  FALSE,  FALSE},
44     { L"SECURITY", L"MACHINE\\", NULL, 0                , 0 ,   NULL,   FALSE,  FALSE,  FALSE},
45     { L"SOFTWARE", L"MACHINE\\", NULL, 0                , 0 ,   NULL,   FALSE,  FALSE,  FALSE},
46     { L"SYSTEM",   L"MACHINE\\", NULL, 0                , 0 ,   NULL,   FALSE,  FALSE,  FALSE},
47     { L"DEFAULT",  L"USER\\.DEFAULT", NULL, 0           , 0 ,   NULL,   FALSE,  FALSE,  FALSE},
48     { L"SAM",      L"MACHINE\\", NULL, HIVE_NOLAZYFLUSH , 0 ,   NULL,   FALSE,  FALSE,  FALSE},
49     { NULL,        NULL,         0, 0                   , 0 ,   NULL,   FALSE,  FALSE,  FALSE}
50 };
51 
52 UNICODE_STRING CmSymbolicLinkValueName =
53     RTL_CONSTANT_STRING(L"SymbolicLinkValue");
54 
55 UNICODE_STRING CmpLoadOptions;
56 
57 /* TRUE if the system hives must be loaded in shared mode */
58 BOOLEAN CmpShareSystemHives;
59 /* TRUE when the registry is in PE mode */
60 BOOLEAN CmpMiniNTBoot;
61 
62 ULONG CmpBootType;
63 BOOLEAN CmSelfHeal = TRUE;
64 BOOLEAN CmpSelfHeal = TRUE;
65 
66 USHORT CmpUnknownBusCount;
67 ULONG CmpTypeCount[MaximumType + 1];
68 
69 HANDLE CmpRegistryRootHandle;
70 
71 DATA_SEG("INITDATA") UNICODE_STRING CmClassName[MaximumClass + 1] =
72 {
73     RTL_CONSTANT_STRING(L"System"),
74     RTL_CONSTANT_STRING(L"Processor"),
75     RTL_CONSTANT_STRING(L"Cache"),
76     RTL_CONSTANT_STRING(L"Adapter"),
77     RTL_CONSTANT_STRING(L"Controller"),
78     RTL_CONSTANT_STRING(L"Peripheral"),
79     RTL_CONSTANT_STRING(L"MemoryClass"),
80     RTL_CONSTANT_STRING(L"Undefined")
81 };
82 
83 DATA_SEG("INITDATA") UNICODE_STRING CmTypeName[MaximumType + 1] =
84 {
85     RTL_CONSTANT_STRING(L"System"),
86     RTL_CONSTANT_STRING(L"CentralProcessor"),
87     RTL_CONSTANT_STRING(L"FloatingPointProcessor"),
88     RTL_CONSTANT_STRING(L"PrimaryICache"),
89     RTL_CONSTANT_STRING(L"PrimaryDCache"),
90     RTL_CONSTANT_STRING(L"SecondaryICache"),
91     RTL_CONSTANT_STRING(L"SecondaryDCache"),
92     RTL_CONSTANT_STRING(L"SecondaryCache"),
93     RTL_CONSTANT_STRING(L"EisaAdapter"),
94     RTL_CONSTANT_STRING(L"TcAdapter"),
95     RTL_CONSTANT_STRING(L"ScsiAdapter"),
96     RTL_CONSTANT_STRING(L"DtiAdapter"),
97     RTL_CONSTANT_STRING(L"MultifunctionAdapter"),
98     RTL_CONSTANT_STRING(L"DiskController"),
99     RTL_CONSTANT_STRING(L"TapeController"),
100     RTL_CONSTANT_STRING(L"CdRomController"),
101     RTL_CONSTANT_STRING(L"WormController"),
102     RTL_CONSTANT_STRING(L"SerialController"),
103     RTL_CONSTANT_STRING(L"NetworkController"),
104     RTL_CONSTANT_STRING(L"DisplayController"),
105     RTL_CONSTANT_STRING(L"ParallelController"),
106     RTL_CONSTANT_STRING(L"PointerController"),
107     RTL_CONSTANT_STRING(L"KeyboardController"),
108     RTL_CONSTANT_STRING(L"AudioController"),
109     RTL_CONSTANT_STRING(L"OtherController"),
110     RTL_CONSTANT_STRING(L"DiskPeripheral"),
111     RTL_CONSTANT_STRING(L"FloppyDiskPeripheral"),
112     RTL_CONSTANT_STRING(L"TapePeripheral"),
113     RTL_CONSTANT_STRING(L"ModemPeripheral"),
114     RTL_CONSTANT_STRING(L"MonitorPeripheral"),
115     RTL_CONSTANT_STRING(L"PrinterPeripheral"),
116     RTL_CONSTANT_STRING(L"PointerPeripheral"),
117     RTL_CONSTANT_STRING(L"KeyboardPeripheral"),
118     RTL_CONSTANT_STRING(L"TerminalPeripheral"),
119     RTL_CONSTANT_STRING(L"OtherPeripheral"),
120     RTL_CONSTANT_STRING(L"LinePeripheral"),
121     RTL_CONSTANT_STRING(L"NetworkPeripheral"),
122     RTL_CONSTANT_STRING(L"SystemMemory"),
123     RTL_CONSTANT_STRING(L"DockingInformation"),
124     RTL_CONSTANT_STRING(L"RealModeIrqRoutingTable"),
125     RTL_CONSTANT_STRING(L"RealModePCIEnumeration"),
126     RTL_CONSTANT_STRING(L"Undefined")
127 };
128 
129 DATA_SEG("INITDATA") CMP_MF_TYPE CmpMultifunctionTypes[] =
130 {
131     {"ISA", Isa, 0},
132     {"MCA", MicroChannel, 0},
133     {"PCI", PCIBus, 0},
134     {"VME", VMEBus, 0},
135     {"PCMCIA", PCMCIABus, 0},
136     {"CBUS", CBus, 0},
137     {"MPIPI", MPIBus, 0},
138     {"MPSA", MPSABus, 0},
139     {NULL, Internal, 0}
140 };
141 
142 DATA_SEG("INITDATA") CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
143 {
144     {
145         L"Session Manager",
146         L"ProtectionMode",
147         &ObpProtectionMode,
148         NULL,
149         NULL
150     },
151     {
152         L"Session Manager",
153         L"ObjectSecurityMode",
154         &ObpObjectSecurityMode,
155         NULL,
156         NULL
157     },
158     {
159         L"Session Manager",
160         L"LUIDDeviceMapsDisabled",
161         &ObpLUIDDeviceMapsDisabled,
162         NULL,
163         NULL
164     },
165     {
166         L"LSA",
167         L"AuditBaseDirectories",
168         &DummyData,
169         NULL,
170         NULL
171     },
172     {
173         L"LSA",
174         L"AuditBaseObjects",
175         &DummyData,
176         NULL,
177         NULL
178     },
179     {
180         L"LSA\\audit",
181         L"ProcessAccessesToAudit",
182         &DummyData,
183         NULL,
184         NULL
185     },
186     {
187         L"TimeZoneInformation",
188         L"ActiveTimeBias",
189         &DummyData,
190         NULL,
191         NULL
192     },
193     {
194         L"TimeZoneInformation",
195         L"Bias",
196         &DummyData,
197         NULL,
198         NULL
199     },
200     {
201         L"TimeZoneInformation",
202         L"RealTimeIsUniversal",
203         &DummyData,
204         NULL,
205         NULL
206     },
207     {
208         L"Session Manager",
209         L"GlobalFlag",
210         &CmNtGlobalFlag,
211         NULL,
212         NULL
213     },
214     {
215         L"Session Manager\\Memory Management",
216         L"PagedPoolQuota",
217         &DummyData,
218         NULL,
219         NULL
220     },
221     {
222         L"Session Manager\\Memory Management",
223         L"NonPagedPoolQuota",
224         &DummyData,
225         NULL,
226         NULL
227     },
228     {
229         L"Session Manager\\Memory Management",
230         L"PagingFileQuota",
231         &DummyData,
232         NULL,
233         NULL
234     },
235     {
236         L"Session Manager\\Memory Management",
237         L"AllocationPreference",
238         &DummyData,
239         NULL,
240         NULL
241     },
242     {
243         L"Session Manager\\Memory Management",
244         L"DynamicMemory",
245         &MmDynamicPfn,
246         NULL,
247         NULL
248     },
249     {
250         L"Session Manager\\Memory Management",
251         L"Mirroring",
252         &MmMirroring,
253         NULL,
254         NULL
255     },
256     {
257         L"Session Manager\\Memory Management",
258         L"SystemViewSize",
259         &DummyData,
260         NULL,
261         NULL
262     },
263     {
264         L"Session Manager\\Memory Management",
265         L"SessionImageSize",
266         &DummyData,
267         NULL,
268         NULL
269     },
270     {
271         L"Session Manager\\Memory Management",
272         L"SessionPoolSize",
273         &DummyData,
274         NULL,
275         NULL
276     },
277     {
278         L"Session Manager\\Memory Management",
279         L"PoolUsageMaximum",
280         &MmConsumedPoolPercentage,
281         NULL,
282         NULL
283     },
284     {
285         L"Session Manager\\Memory Management",
286         L"MapAllocationFragment",
287         &MmAllocationFragment,
288         NULL,
289         NULL
290     },
291     {
292         L"Session Manager\\Memory Management",
293         L"PagedPoolSize",
294         &MmSizeOfPagedPoolInBytes,
295         NULL,
296         NULL
297     },
298     {
299         L"Session Manager\\Memory Management",
300         L"NonPagedPoolSize",
301         &MmSizeOfNonPagedPoolInBytes,
302         NULL,
303         NULL
304     },
305     {
306         L"Session Manager\\Memory Management",
307         L"NonPagedPoolMaximumPercent",
308         &DummyData,
309         NULL,
310         NULL
311     },
312     {
313         L"Session Manager\\Memory Management",
314         L"LargeSystemCache",
315         &MmLargeSystemCache,
316         NULL,
317         NULL
318     },
319     {
320         L"Session Manager\\Memory Management",
321         L"LargeStackSize",
322         &MmLargeStackSize,
323         NULL,
324         NULL
325     },
326     {
327         L"Session Manager\\Memory Management",
328         L"SystemPages",
329         &MmNumberOfSystemPtes,
330         NULL,
331         NULL
332     },
333     {
334         L"Session Manager\\Memory Management",
335         L"LowMemoryThreshold",
336         &MmLowMemoryThreshold,
337         NULL,
338         NULL
339     },
340     {
341         L"Session Manager\\Memory Management",
342         L"HighMemoryThreshold",
343         &MmHighMemoryThreshold,
344         NULL,
345         NULL
346     },
347     {
348         L"Session Manager\\Memory Management",
349         L"DisablePagingExecutive",
350         &MmDisablePagingExecutive,
351         NULL,
352         NULL
353     },
354     {
355         L"Session Manager\\Memory Management",
356         L"ModifiedPageLife",
357         &DummyData,
358         NULL,
359         NULL
360     },
361     {
362         L"Session Manager\\Memory Management",
363         L"SecondLevelDataCache",
364         &MmSecondaryColors,
365         NULL,
366         NULL
367     },
368     {
369         L"Session Manager\\Memory Management",
370         L"ClearPageFileAtShutdown",
371         &MmZeroPageFile,
372         NULL,
373         NULL
374     },
375     {
376         L"Session Manager\\Memory Management",
377         L"PoolTagSmallTableSize",
378         &DummyData,
379         NULL,
380         NULL
381     },
382     {
383         L"Session Manager\\Memory Management",
384         L"PoolTagBigTableSize",
385         &DummyData,
386         NULL,
387         NULL
388     },
389     {
390         L"Session Manager\\Memory Management",
391         L"PoolTag",
392         &DummyData,
393         NULL,
394         NULL
395     },
396     {
397         L"Session Manager\\Memory Management",
398         L"PoolTagOverruns",
399         &DummyData,
400         NULL,
401         NULL
402     },
403     {
404         L"Session Manager\\Memory Management",
405         L"SnapUnloads",
406         &DummyData,
407         NULL,
408         NULL
409     },
410     {
411         L"Session Manager\\Memory Management",
412         L"ProtectNonPagedPool",
413         &MmProtectFreedNonPagedPool,
414         NULL,
415         NULL
416     },
417     {
418         L"Session Manager\\Memory Management",
419         L"TrackLockedPages",
420         &MmTrackLockedPages,
421         NULL,
422         NULL
423     },
424     {
425         L"Session Manager\\Memory Management",
426         L"TrackPtes",
427         &MmTrackPtes,
428         NULL,
429         NULL
430     },
431     {
432         L"Session Manager\\Memory Management",
433         L"VerifyDrivers",
434         MmVerifyDriverBuffer,
435         &MmVerifyDriverBufferLength,
436         &MmVerifyDriverBufferType
437     },
438     {
439         L"Session Manager\\Memory Management",
440         L"VerifyDriverLevel",
441         &MmVerifyDriverLevel,
442         NULL,
443         NULL
444     },
445     {
446         L"Session Manager\\Memory Management",
447         L"VerifyMode",
448         &DummyData,
449         NULL,
450         NULL
451     },
452     {
453         L"Session Manager\\Memory Management",
454         L"LargePageMinimum",
455         &DummyData,
456         NULL,
457         NULL
458     },
459     {
460         L"Session Manager\\Memory Management",
461         L"EnforceWriteProtection",
462         &MmEnforceWriteProtection,
463         NULL,
464         NULL
465     },
466     {
467         L"Session Manager\\Memory Management",
468         L"MakeLowMemory",
469         &MmMakeLowMemory,
470         NULL,
471         NULL
472     },
473     {
474         L"Session Manager\\Memory Management",
475         L"WriteWatch",
476         &DummyData,
477         NULL,
478         NULL
479     },
480     {
481         L"Session Manager\\Memory Management",
482         L"MinimumStackCommitInBytes",
483         &MmMinimumStackCommitInBytes,
484         NULL,
485         NULL
486     },
487     {
488         L"Session Manager\\Executive",
489         L"AdditionalCriticalWorkerThreads",
490         &DummyData,
491         NULL,
492         NULL
493     },
494     {
495         L"Session Manager\\Executive",
496         L"AdditionalDelayedWorkerThreads",
497         &DummyData,
498         NULL,
499         NULL
500     },
501     {
502         L"Session Manager\\Executive",
503         L"PriorityQuantumMatrix",
504         &DummyData,
505         &DummyData,
506         NULL
507     },
508     {
509         L"Session Manager\\Kernel",
510         L"DpcQueueDepth",
511         &DummyData,
512         NULL,
513         NULL
514     },
515     {
516         L"Session Manager\\Kernel",
517         L"MinimumDpcRate",
518         &DummyData,
519         NULL,
520         NULL
521     },
522     {
523         L"Session Manager\\Kernel",
524         L"AdjustDpcThreshold",
525         &DummyData,
526         NULL,
527         NULL
528     },
529     {
530         L"Session Manager\\Kernel",
531         L"IdealDpcRate",
532         &DummyData,
533         NULL,
534         NULL
535     },
536     {
537         L"Session Manager\\Kernel",
538         L"ObUnsecureGlobalNames",
539         ObpUnsecureGlobalNamesBuffer,
540         &ObpUnsecureGlobalNamesLength,
541         NULL
542     },
543     {
544         L"Session Manager\\I/O System",
545         L"CountOperations",
546         &DummyData,
547         NULL,
548         NULL
549     },
550     {
551         L"Session Manager\\I/O System",
552         L"LargeIrpStackLocations",
553         &DummyData,
554         NULL,
555         NULL
556     },
557     {
558         L"Session Manager\\I/O System",
559         L"IoVerifierLevel",
560         &DummyData,
561         NULL,
562         NULL
563     },
564     {
565         L"Session Manager",
566         L"ResourceTimeoutCount",
567         &ExpResourceTimeoutCount,
568         NULL,
569         NULL
570     },
571     {
572         L"Session Manager",
573         L"CriticalSectionTimeout",
574         &MmCritsectTimeoutSeconds,
575         NULL,
576         NULL
577     },
578     {
579         L"Session Manager",
580         L"HeapSegmentReserve",
581         &MmHeapSegmentReserve,
582         NULL,
583         NULL
584     },
585     {
586         L"Session Manager",
587         L"HeapSegmentCommit",
588         &MmHeapSegmentCommit,
589         NULL,
590         NULL
591     },
592     {
593         L"Session Manager",
594         L"HeapDeCommitTotalFreeThreshold",
595         &MmHeapDeCommitTotalFreeThreshold,
596         NULL,
597         NULL
598     },
599     {
600         L"Session Manager",
601         L"HeapDeCommitFreeBlockThreshold",
602         &MmHeapDeCommitFreeBlockThreshold,
603         NULL,
604         NULL
605     },
606     {
607         L"ProductOptions",
608         L"ProductType",
609         &MmProductType,
610         NULL,
611         NULL
612     },
613     {
614         L"Terminal Server",
615         L"TSEnabled",
616         &DummyData,
617         NULL,
618         NULL
619     },
620     {
621         L"Terminal Server",
622         L"TSAppCompat",
623         &DummyData,
624         NULL,
625         NULL
626     },
627 
628 
629     {
630         L"ProductOptions",
631         L"ProductSuite",
632         CmSuiteBuffer,
633         &CmSuiteBufferLength,
634         &CmSuiteBufferType
635     },
636     {
637         L"Windows",
638         L"CSDVersion",
639         &CmNtCSDVersion,
640         NULL,
641         NULL
642     },
643     {
644         L"Windows",
645         L"CSDReleaseType",
646         &CmNtCSDReleaseType,
647         NULL,
648         NULL
649     },
650     {
651         L"Nls\\Language",
652         L"Default",
653         CmDefaultLanguageId,
654         &CmDefaultLanguageIdLength,
655         &CmDefaultLanguageIdType
656     },
657     {
658         L"Nls\\Language",
659         L"InstallLanguage",
660         CmInstallUILanguageId,
661         &CmInstallUILanguageIdLength,
662         &CmInstallUILanguageIdType
663     },
664     {
665         L"\0\0",
666         L"RegistrySizeLimit",
667         &DummyData,
668         &DummyData,
669         &DummyData
670     },
671     {
672         L"Session Manager",
673         L"ForceNpxEmulation",
674         &DummyData,
675         NULL,
676         NULL
677     },
678     {
679         L"Session Manager",
680         L"PowerPolicySimulate",
681         &DummyData,
682         NULL,
683         NULL
684     },
685     {
686         L"Session Manager\\Executive",
687         L"MaxTimeSeparationBeforeCorrect",
688         &DummyData,
689         NULL,
690         NULL
691     },
692     {
693         L"Windows",
694         L"ShutdownTime",
695         &DummyData,
696         &DummyData,
697         NULL
698     },
699     {
700         L"PriorityControl",
701         L"Win32PrioritySeparation",
702         &PsRawPrioritySeparation,
703         NULL,
704         NULL
705     },
706     {
707         L"Session Manager",
708         L"EnableTimerWatchdog",
709         &DummyData,
710         NULL,
711         NULL
712     },
713     {
714         L"Session Manager",
715         L"Debugger Retries",
716         &KdpContext.KdpDefaultRetries,
717         NULL,
718         NULL
719     },
720 
721 //
722 // Debug Filter Masks - See kd64/kddata.c
723 //
724 
725 #define WTEXT(s) L##s
726 #define CM_DEBUG_PRINT_FILTER(Name) \
727     { \
728         L"Session Manager\\Debug Print Filter", \
729         WTEXT(#Name), \
730         &Kd_##Name##_Mask, \
731         NULL, \
732         NULL \
733     }
734 
735     CM_DEBUG_PRINT_FILTER(WIN2000),
736     CM_DEBUG_PRINT_FILTER(SYSTEM),
737     CM_DEBUG_PRINT_FILTER(SMSS),
738     CM_DEBUG_PRINT_FILTER(SETUP),
739     CM_DEBUG_PRINT_FILTER(NTFS),
740     CM_DEBUG_PRINT_FILTER(FSTUB),
741     CM_DEBUG_PRINT_FILTER(CRASHDUMP),
742     CM_DEBUG_PRINT_FILTER(CDAUDIO),
743     CM_DEBUG_PRINT_FILTER(CDROM),
744     CM_DEBUG_PRINT_FILTER(CLASSPNP),
745     CM_DEBUG_PRINT_FILTER(DISK),
746     CM_DEBUG_PRINT_FILTER(REDBOOK),
747     CM_DEBUG_PRINT_FILTER(STORPROP),
748     CM_DEBUG_PRINT_FILTER(SCSIPORT),
749     CM_DEBUG_PRINT_FILTER(SCSIMINIPORT),
750     CM_DEBUG_PRINT_FILTER(CONFIG),
751     CM_DEBUG_PRINT_FILTER(I8042PRT),
752     CM_DEBUG_PRINT_FILTER(SERMOUSE),
753     CM_DEBUG_PRINT_FILTER(LSERMOUS),
754     CM_DEBUG_PRINT_FILTER(KBDHID),
755     CM_DEBUG_PRINT_FILTER(MOUHID),
756     CM_DEBUG_PRINT_FILTER(KBDCLASS),
757     CM_DEBUG_PRINT_FILTER(MOUCLASS),
758     CM_DEBUG_PRINT_FILTER(TWOTRACK),
759     CM_DEBUG_PRINT_FILTER(WMILIB),
760     CM_DEBUG_PRINT_FILTER(ACPI),
761     CM_DEBUG_PRINT_FILTER(AMLI),
762     CM_DEBUG_PRINT_FILTER(HALIA64),
763     CM_DEBUG_PRINT_FILTER(VIDEO),
764     CM_DEBUG_PRINT_FILTER(SVCHOST),
765     CM_DEBUG_PRINT_FILTER(VIDEOPRT),
766     CM_DEBUG_PRINT_FILTER(TCPIP),
767     CM_DEBUG_PRINT_FILTER(DMSYNTH),
768     CM_DEBUG_PRINT_FILTER(NTOSPNP),
769     CM_DEBUG_PRINT_FILTER(FASTFAT),
770     CM_DEBUG_PRINT_FILTER(SAMSS),
771     CM_DEBUG_PRINT_FILTER(PNPMGR),
772     CM_DEBUG_PRINT_FILTER(NETAPI),
773     CM_DEBUG_PRINT_FILTER(SCSERVER),
774     CM_DEBUG_PRINT_FILTER(SCCLIENT),
775     CM_DEBUG_PRINT_FILTER(SERIAL),
776     CM_DEBUG_PRINT_FILTER(SERENUM),
777     CM_DEBUG_PRINT_FILTER(UHCD),
778     CM_DEBUG_PRINT_FILTER(RPCPROXY),
779     CM_DEBUG_PRINT_FILTER(AUTOCHK),
780     CM_DEBUG_PRINT_FILTER(DCOMSS),
781     CM_DEBUG_PRINT_FILTER(UNIMODEM),
782     CM_DEBUG_PRINT_FILTER(SIS),
783     CM_DEBUG_PRINT_FILTER(FLTMGR),
784     CM_DEBUG_PRINT_FILTER(WMICORE),
785     CM_DEBUG_PRINT_FILTER(BURNENG),
786     CM_DEBUG_PRINT_FILTER(IMAPI),
787     CM_DEBUG_PRINT_FILTER(SXS),
788     CM_DEBUG_PRINT_FILTER(FUSION),
789     CM_DEBUG_PRINT_FILTER(IDLETASK),
790     CM_DEBUG_PRINT_FILTER(SOFTPCI),
791     CM_DEBUG_PRINT_FILTER(TAPE),
792     CM_DEBUG_PRINT_FILTER(MCHGR),
793     CM_DEBUG_PRINT_FILTER(IDEP),
794     CM_DEBUG_PRINT_FILTER(PCIIDE),
795     CM_DEBUG_PRINT_FILTER(FLOPPY),
796     CM_DEBUG_PRINT_FILTER(FDC),
797     CM_DEBUG_PRINT_FILTER(TERMSRV),
798     CM_DEBUG_PRINT_FILTER(W32TIME),
799     CM_DEBUG_PRINT_FILTER(PREFETCHER),
800     CM_DEBUG_PRINT_FILTER(RSFILTER),
801     CM_DEBUG_PRINT_FILTER(FCPORT),
802     CM_DEBUG_PRINT_FILTER(PCI),
803     CM_DEBUG_PRINT_FILTER(DMIO),
804     CM_DEBUG_PRINT_FILTER(DMCONFIG),
805     CM_DEBUG_PRINT_FILTER(DMADMIN),
806     CM_DEBUG_PRINT_FILTER(WSOCKTRANSPORT),
807     CM_DEBUG_PRINT_FILTER(VSS),
808     CM_DEBUG_PRINT_FILTER(PNPMEM),
809     CM_DEBUG_PRINT_FILTER(PROCESSOR),
810     CM_DEBUG_PRINT_FILTER(DMSERVER),
811     CM_DEBUG_PRINT_FILTER(SR),
812     CM_DEBUG_PRINT_FILTER(INFINIBAND),
813     CM_DEBUG_PRINT_FILTER(IHVDRIVER),
814     CM_DEBUG_PRINT_FILTER(IHVVIDEO),
815     CM_DEBUG_PRINT_FILTER(IHVAUDIO),
816     CM_DEBUG_PRINT_FILTER(IHVNETWORK),
817     CM_DEBUG_PRINT_FILTER(IHVSTREAMING),
818     CM_DEBUG_PRINT_FILTER(IHVBUS),
819     CM_DEBUG_PRINT_FILTER(HPS),
820     CM_DEBUG_PRINT_FILTER(RTLTHREADPOOL),
821     CM_DEBUG_PRINT_FILTER(LDR),
822     CM_DEBUG_PRINT_FILTER(TCPIP6),
823     CM_DEBUG_PRINT_FILTER(ISAPNP),
824     CM_DEBUG_PRINT_FILTER(SHPC),
825     CM_DEBUG_PRINT_FILTER(STORPORT),
826     CM_DEBUG_PRINT_FILTER(STORMINIPORT),
827     CM_DEBUG_PRINT_FILTER(PRINTSPOOLER),
828     CM_DEBUG_PRINT_FILTER(VSSDYNDISK),
829     CM_DEBUG_PRINT_FILTER(VERIFIER),
830     CM_DEBUG_PRINT_FILTER(VDS),
831     CM_DEBUG_PRINT_FILTER(VDSBAS),
832     CM_DEBUG_PRINT_FILTER(VDSDYN),  // Specified in Vista+
833     CM_DEBUG_PRINT_FILTER(VDSDYNDR),
834     CM_DEBUG_PRINT_FILTER(VDSLDR),  // Specified in Vista+
835     CM_DEBUG_PRINT_FILTER(VDSUTIL),
836     CM_DEBUG_PRINT_FILTER(DFRGIFC),
837     CM_DEBUG_PRINT_FILTER(DEFAULT),
838     CM_DEBUG_PRINT_FILTER(MM),
839     CM_DEBUG_PRINT_FILTER(DFSC),
840     CM_DEBUG_PRINT_FILTER(WOW64),
841 //
842 // Components specified in Vista+, some of which we also use in ReactOS
843 //
844     CM_DEBUG_PRINT_FILTER(ALPC),
845     CM_DEBUG_PRINT_FILTER(WDI),
846     CM_DEBUG_PRINT_FILTER(PERFLIB),
847     CM_DEBUG_PRINT_FILTER(KTM),
848     CM_DEBUG_PRINT_FILTER(IOSTRESS),
849     CM_DEBUG_PRINT_FILTER(HEAP),
850     CM_DEBUG_PRINT_FILTER(WHEA),
851     CM_DEBUG_PRINT_FILTER(USERGDI),
852     CM_DEBUG_PRINT_FILTER(MMCSS),
853     CM_DEBUG_PRINT_FILTER(TPM),
854     CM_DEBUG_PRINT_FILTER(THREADORDER),
855     CM_DEBUG_PRINT_FILTER(ENVIRON),
856     CM_DEBUG_PRINT_FILTER(EMS),
857     CM_DEBUG_PRINT_FILTER(WDT),
858     CM_DEBUG_PRINT_FILTER(FVEVOL),
859     CM_DEBUG_PRINT_FILTER(NDIS),
860     CM_DEBUG_PRINT_FILTER(NVCTRACE),
861     CM_DEBUG_PRINT_FILTER(LUAFV),
862     CM_DEBUG_PRINT_FILTER(APPCOMPAT),
863     CM_DEBUG_PRINT_FILTER(USBSTOR),
864     CM_DEBUG_PRINT_FILTER(SBP2PORT),
865     CM_DEBUG_PRINT_FILTER(COVERAGE),
866     CM_DEBUG_PRINT_FILTER(CACHEMGR),
867     CM_DEBUG_PRINT_FILTER(MOUNTMGR),
868     CM_DEBUG_PRINT_FILTER(CFR),
869     CM_DEBUG_PRINT_FILTER(TXF),
870     CM_DEBUG_PRINT_FILTER(KSECDD),
871     CM_DEBUG_PRINT_FILTER(FLTREGRESS),
872     CM_DEBUG_PRINT_FILTER(MPIO),
873     CM_DEBUG_PRINT_FILTER(MSDSM),
874     CM_DEBUG_PRINT_FILTER(UDFS),
875     CM_DEBUG_PRINT_FILTER(PSHED),
876     CM_DEBUG_PRINT_FILTER(STORVSP),
877     CM_DEBUG_PRINT_FILTER(LSASS),
878     CM_DEBUG_PRINT_FILTER(SSPICLI),
879     CM_DEBUG_PRINT_FILTER(CNG),
880     CM_DEBUG_PRINT_FILTER(EXFAT),
881     CM_DEBUG_PRINT_FILTER(FILETRACE),
882     CM_DEBUG_PRINT_FILTER(XSAVE),
883     CM_DEBUG_PRINT_FILTER(SE),
884     CM_DEBUG_PRINT_FILTER(DRIVEEXTENDER),
885 //
886 // Components specified in Windows 8
887 //
888     CM_DEBUG_PRINT_FILTER(POWER),
889     CM_DEBUG_PRINT_FILTER(CRASHDUMPXHCI),
890     CM_DEBUG_PRINT_FILTER(GPIO),
891     CM_DEBUG_PRINT_FILTER(REFS),
892     CM_DEBUG_PRINT_FILTER(WER),
893 //
894 // Components specified in Windows 10
895 //
896     CM_DEBUG_PRINT_FILTER(CAPIMG),
897     CM_DEBUG_PRINT_FILTER(VPCI),
898     CM_DEBUG_PRINT_FILTER(STORAGECLASSMEMORY),
899     CM_DEBUG_PRINT_FILTER(FSLIB),
900 
901 #undef WTEXT
902 #undef CM_DEBUG_PRINT_FILTER
903 
904 //
905 // END OF Debug Filter Masks
906 //
907 
908     {
909         L"WMI",
910         L"MaxEventSize",
911         &DummyData,
912         NULL,
913         NULL
914     },
915     {
916         L"WMI\\Trace",
917         L"UsePerformanceClock",
918         &DummyData,
919         NULL,
920         NULL
921     },
922     {
923         L"WMI\\Trace",
924         L"TraceAlignment",
925         &DummyData,
926         NULL,
927         NULL
928     },
929     {
930         NULL,
931         NULL,
932         NULL,
933         NULL,
934         NULL
935     }
936 };
937