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