https://git.reactos.org/?p=reactos.git;a=commitdiff;h=6c1aac6948626bc7b9046…
commit 6c1aac6948626bc7b9046895bdd640b0c0cd1ec1
Author: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
AuthorDate: Sun Nov 17 17:16:55 2019 +0100
Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
CommitDate: Sun Nov 17 23:21:53 2019 +0100
[NTOS] Complete the support of Debug Filters. CORE-13529
- KD64: Update the list of supported Debug Filter Masks (KdComponentTable)
with the more up-to-date one from KDBG, that includes some components
that have been added in Vista+, but some of which we also use in ReactOS.
- NtQueryDebugFilterState(), NtSetDebugFilterState() and KdpPrint():
Add the Vista+ behaviour or falling back to the DEFAULT component ID
settings for unknown Components (compiled in only wheen NTDDI_VERSION >=
NTDDI_VISTA).
+ Remove redundant comments and update these functions with SAL2 annotations.
- KDBG: Add extra documentation for the debug filter components list.
- CONFIG: Load all the supported Debug Filter Masks settings from the
registry.
---
ntoskrnl/config/cmdata.c | 1135 ++++++++++++++++++++++++++++++++++----
ntoskrnl/include/internal/kd64.h | 165 +++++-
ntoskrnl/kd64/kdapi.c | 42 +-
ntoskrnl/kd64/kddata.c | 97 +++-
ntoskrnl/kd64/kdprint.c | 13 +-
ntoskrnl/kdbg/kdb_cli.c | 12 +-
sdk/include/ndk/kdfuncs.h | 10 +-
7 files changed, 1351 insertions(+), 123 deletions(-)
diff --git a/ntoskrnl/config/cmdata.c b/ntoskrnl/config/cmdata.c
index 7a2c6af6c55..7b34fc936cb 100644
--- a/ntoskrnl/config/cmdata.c
+++ b/ntoskrnl/config/cmdata.c
@@ -145,7 +145,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager",
L"ObjectSecurityMode",
@@ -153,7 +152,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager",
L"LUIDDeviceMapsDisabled",
@@ -161,7 +159,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"LSA",
L"AuditBaseDirectories",
@@ -169,7 +166,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"LSA",
L"AuditBaseObjects",
@@ -177,7 +173,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"LSA\\audit",
L"ProcessAccessesToAudit",
@@ -185,7 +180,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"TimeZoneInformation",
L"ActiveTimeBias",
@@ -193,7 +187,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"TimeZoneInformation",
L"Bias",
@@ -201,7 +194,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"TimeZoneInformation",
L"RealTimeIsUniversal",
@@ -209,7 +201,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager",
L"GlobalFlag",
@@ -217,7 +208,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"PagedPoolQuota",
@@ -225,7 +215,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"NonPagedPoolQuota",
@@ -233,7 +222,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"PagingFileQuota",
@@ -241,7 +229,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"AllocationPreference",
@@ -249,7 +236,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"DynamicMemory",
@@ -257,7 +243,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"Mirroring",
@@ -265,7 +250,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"SystemViewSize",
@@ -273,7 +257,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"SessionImageSize",
@@ -281,7 +264,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"SessionPoolSize",
@@ -289,7 +271,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"PoolUsageMaximum",
@@ -297,7 +278,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"MapAllocationFragment",
@@ -305,7 +285,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"PagedPoolSize",
@@ -313,7 +292,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"NonPagedPoolSize",
@@ -321,7 +299,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"NonPagedPoolMaximumPercent",
@@ -329,7 +306,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"LargeSystemCache",
@@ -337,7 +313,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"LargeStackSize",
@@ -345,7 +320,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"SystemPages",
@@ -353,7 +327,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"LowMemoryThreshold",
@@ -361,7 +334,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"HighMemoryThreshold",
@@ -369,7 +341,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"DisablePagingExecutive",
@@ -377,7 +348,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"ModifiedPageLife",
@@ -385,7 +355,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"SecondLevelDataCache",
@@ -393,7 +362,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"ClearPageFileAtShutdown",
@@ -401,7 +369,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"PoolTagSmallTableSize",
@@ -409,7 +376,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"PoolTagBigTableSize",
@@ -417,7 +383,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"PoolTag",
@@ -425,7 +390,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"PoolTagOverruns",
@@ -433,7 +397,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"SnapUnloads",
@@ -441,7 +404,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"ProtectNonPagedPool",
@@ -449,7 +411,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"TrackLockedPages",
@@ -457,7 +418,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"TrackPtes",
@@ -465,7 +425,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"VerifyDrivers",
@@ -473,7 +432,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
&MmVerifyDriverBufferLength,
&MmVerifyDriverBufferType
},
-
{
L"Session Manager\\Memory Management",
L"VerifyDriverLevel",
@@ -481,7 +439,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"VerifyMode",
@@ -489,7 +446,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"LargePageMinimum",
@@ -497,7 +453,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"EnforceWriteProtection",
@@ -505,7 +460,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"MakeLowMemory",
@@ -513,7 +467,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"WriteWatch",
@@ -521,7 +474,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Memory Management",
L"MinimumStackCommitInBytes",
@@ -529,7 +481,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Executive",
L"AdditionalCriticalWorkerThreads",
@@ -537,7 +488,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Executive",
L"AdditionalDelayedWorkerThreads",
@@ -545,7 +495,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Executive",
L"PriorityQuantumMatrix",
@@ -553,7 +502,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
&DummyData,
NULL
},
-
{
L"Session Manager\\Kernel",
L"DpcQueueDepth",
@@ -561,7 +509,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Kernel",
L"MinimumDpcRate",
@@ -569,7 +516,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Kernel",
L"AdjustDpcThreshold",
@@ -577,7 +523,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Kernel",
L"IdealDpcRate",
@@ -585,7 +530,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Kernel",
L"ObUnsecureGlobalNames",
@@ -593,7 +537,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
&ObpUnsecureGlobalNamesLength,
NULL
},
-
{
L"Session Manager\\I/O System",
L"CountOperations",
@@ -601,7 +544,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\I/O System",
L"LargeIrpStackLocations",
@@ -609,7 +551,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\I/O System",
L"IoVerifierLevel",
@@ -617,7 +558,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager",
L"ResourceTimeoutCount",
@@ -625,7 +565,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager",
L"CriticalSectionTimeout",
@@ -633,7 +572,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager",
L"HeapSegmentReserve",
@@ -648,7 +586,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager",
L"HeapDeCommitTotalFreeThreshold",
@@ -656,7 +593,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager",
L"HeapDeCommitFreeBlockThreshold",
@@ -664,7 +600,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"ProductOptions",
L"ProductType",
@@ -672,7 +607,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Terminal Server",
L"TSEnabled",
@@ -680,7 +614,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Terminal Server",
L"TSAppCompat",
@@ -697,7 +630,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
&CmSuiteBufferLength,
&CmSuiteBufferType
},
-
{
L"Windows",
L"CSDVersion",
@@ -705,7 +637,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Windows",
L"CSDReleaseType",
@@ -713,7 +644,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Nls\\Language",
L"Default",
@@ -721,7 +651,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
&CmDefaultLanguageIdLength,
&CmDefaultLanguageIdType
},
-
{
L"Nls\\Language",
L"InstallLanguage",
@@ -729,7 +658,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
&CmInstallUILanguageIdLength,
&CmInstallUILanguageIdType
},
-
{
L"\0\0",
L"RegistrySizeLimit",
@@ -737,7 +665,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
&DummyData,
&DummyData
},
-
{
L"Session Manager",
L"ForceNpxEmulation",
@@ -745,7 +672,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager",
L"PowerPolicySimulate",
@@ -753,7 +679,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager\\Executive",
L"MaxTimeSeparationBeforeCorrect",
@@ -761,7 +686,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Windows",
L"ShutdownTime",
@@ -769,7 +693,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
&DummyData,
NULL
},
-
{
L"PriorityControl",
L"Win32PrioritySeparation",
@@ -777,7 +700,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager",
L"EnableTimerWatchdog",
@@ -785,7 +707,6 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
{
L"Session Manager",
L"Debugger Retries",
@@ -794,6 +715,9 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL
},
+//
+// Debug Filter Masks - See kd64/kddata.c
+//
{
L"Session Manager\\Debug Print Filter",
L"WIN2000",
@@ -801,33 +725,1056 @@ INIT_SECTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
NULL,
NULL
},
-
- /* TODO: Add the other masks */
-
{
- L"WMI",
- L"MaxEventSize",
- &DummyData,
+ L"Session Manager\\Debug Print Filter",
+ L"SYSTEM",
+ &Kd_SYSTEM_Mask,
NULL,
NULL
},
-
{
- L"WMI\\Trace",
- L"UsePerformanceClock",
- &DummyData,
+ L"Session Manager\\Debug Print Filter",
+ L"SMSS",
+ &Kd_SMSS_Mask,
NULL,
NULL
},
-
{
- L"WMI\\Trace",
- L"TraceAlignment",
- &DummyData,
+ L"Session Manager\\Debug Print Filter",
+ L"SETUP",
+ &Kd_SETUP_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"NTFS",
+ &Kd_NTFS_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"FSTUB",
+ &Kd_FSTUB_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"CRASHDUMP",
+ &Kd_CRASHDUMP_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"CDAUDIO",
+ &Kd_CDAUDIO_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"CDROM",
+ &Kd_CDROM_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"CLASSPNP",
+ &Kd_CLASSPNP_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"DISK",
+ &Kd_DISK_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"REDBOOK",
+ &Kd_REDBOOK_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"STORPROP",
+ &Kd_STORPROP_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"SCSIPORT",
+ &Kd_SCSIPORT_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"SCSIMINIPORT",
+ &Kd_SCSIMINIPORT_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"CONFIG",
+ &Kd_CONFIG_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"I8042PRT",
+ &Kd_I8042PRT_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"SERMOUSE",
+ &Kd_SERMOUSE_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"LSERMOUS",
+ &Kd_LSERMOUS_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"KBDHID",
+ &Kd_KBDHID_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"MOUHID",
+ &Kd_MOUHID_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"KBDCLASS",
+ &Kd_KBDCLASS_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"MOUCLASS",
+ &Kd_MOUCLASS_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"TWOTRACK",
+ &Kd_TWOTRACK_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"WMILIB",
+ &Kd_WMILIB_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"ACPI",
+ &Kd_ACPI_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"AMLI",
+ &Kd_AMLI_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"HALIA64",
+ &Kd_HALIA64_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"VIDEO",
+ &Kd_VIDEO_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"SVCHOST",
+ &Kd_SVCHOST_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"VIDEOPRT",
+ &Kd_VIDEOPRT_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"TCPIP",
+ &Kd_TCPIP_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"DMSYNTH",
+ &Kd_DMSYNTH_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"NTOSPNP",
+ &Kd_NTOSPNP_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"FASTFAT",
+ &Kd_FASTFAT_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"SAMSS",
+ &Kd_SAMSS_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"PNPMGR",
+ &Kd_PNPMGR_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"NETAPI",
+ &Kd_NETAPI_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"SCSERVER",
+ &Kd_SCSERVER_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"SCCLIENT",
+ &Kd_SCCLIENT_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"SERIAL",
+ &Kd_SERIAL_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"SERENUM",
+ &Kd_SERENUM_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"UHCD",
+ &Kd_UHCD_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"RPCPROXY",
+ &Kd_RPCPROXY_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"AUTOCHK",
+ &Kd_AUTOCHK_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"DCOMSS",
+ &Kd_DCOMSS_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"UNIMODEM",
+ &Kd_UNIMODEM_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"SIS",
+ &Kd_SIS_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"FLTMGR",
+ &Kd_FLTMGR_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"WMICORE",
+ &Kd_WMICORE_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"BURNENG",
+ &Kd_BURNENG_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"IMAPI",
+ &Kd_IMAPI_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"SXS",
+ &Kd_SXS_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"FUSION",
+ &Kd_FUSION_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"IDLETASK",
+ &Kd_IDLETASK_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"SOFTPCI",
+ &Kd_SOFTPCI_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"TAPE",
+ &Kd_TAPE_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"MCHGR",
+ &Kd_MCHGR_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"IDEP",
+ &Kd_IDEP_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"PCIIDE",
+ &Kd_PCIIDE_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"FLOPPY",
+ &Kd_FLOPPY_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"FDC",
+ &Kd_FDC_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"TERMSRV",
+ &Kd_TERMSRV_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"W32TIME",
+ &Kd_W32TIME_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"PREFETCHER",
+ &Kd_PREFETCHER_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"RSFILTER",
+ &Kd_RSFILTER_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"FCPORT",
+ &Kd_FCPORT_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"PCI",
+ &Kd_PCI_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"DMIO",
+ &Kd_DMIO_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"DMCONFIG",
+ &Kd_DMCONFIG_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"DMADMIN",
+ &Kd_DMADMIN_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"WSOCKTRANSPORT",
+ &Kd_WSOCKTRANSPORT_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"VSS",
+ &Kd_VSS_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"PNPMEM",
+ &Kd_PNPMEM_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"PROCESSOR",
+ &Kd_PROCESSOR_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"DMSERVER",
+ &Kd_DMSERVER_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"SR",
+ &Kd_SR_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"INFINIBAND",
+ &Kd_INFINIBAND_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"IHVDRIVER",
+ &Kd_IHVDRIVER_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"IHVVIDEO",
+ &Kd_IHVVIDEO_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"IHVAUDIO",
+ &Kd_IHVAUDIO_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"IHVNETWORK",
+ &Kd_IHVNETWORK_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"IHVSTREAMING",
+ &Kd_IHVSTREAMING_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"IHVBUS",
+ &Kd_IHVBUS_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"HPS",
+ &Kd_HPS_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"RTLTHREADPOOL",
+ &Kd_RTLTHREADPOOL_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"LDR",
+ &Kd_LDR_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"TCPIP6",
+ &Kd_TCPIP6_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"ISAPNP",
+ &Kd_ISAPNP_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"SHPC",
+ &Kd_SHPC_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"STORPORT",
+ &Kd_STORPORT_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"STORMINIPORT",
+ &Kd_STORMINIPORT_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"PRINTSPOOLER",
+ &Kd_PRINTSPOOLER_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"VSSDYNDISK",
+ &Kd_VSSDYNDISK_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"VERIFIER",
+ &Kd_VERIFIER_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"VDS",
+ &Kd_VDS_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"VDSBAS",
+ &Kd_VDSBAS_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"VDSDYN",
+ &Kd_VDSDYN_Mask, // Specified in Vista+
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"VDSDYNDR",
+ &Kd_VDSDYNDR_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"VDSLDR",
+ &Kd_VDSLDR_Mask, // Specified in Vista+
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"VDSUTIL",
+ &Kd_VDSUTIL_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"DFRGIFC",
+ &Kd_DFRGIFC_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"DEFAULT",
+ &Kd_DEFAULT_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"MM",
+ &Kd_MM_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"DFSC",
+ &Kd_DFSC_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"WOW64",
+ &Kd_WOW64_Mask,
+ NULL,
+ NULL
+ },
+//
+// Components specified in Vista+, some of which we also use in ReactOS
+//
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"ALPC",
+ &Kd_ALPC_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"WDI",
+ &Kd_WDI_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"PERFLIB",
+ &Kd_PERFLIB_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"KTM",
+ &Kd_KTM_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"IOSTRESS",
+ &Kd_IOSTRESS_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"HEAP",
+ &Kd_HEAP_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"WHEA",
+ &Kd_WHEA_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"USERGDI",
+ &Kd_USERGDI_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"MMCSS",
+ &Kd_MMCSS_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"TPM",
+ &Kd_TPM_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"THREADORDER",
+ &Kd_THREADORDER_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"ENVIRON",
+ &Kd_ENVIRON_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"EMS",
+ &Kd_EMS_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"WDT",
+ &Kd_WDT_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"FVEVOL",
+ &Kd_FVEVOL_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"NDIS",
+ &Kd_NDIS_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"NVCTRACE",
+ &Kd_NVCTRACE_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"LUAFV",
+ &Kd_LUAFV_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"APPCOMPAT",
+ &Kd_APPCOMPAT_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"USBSTOR",
+ &Kd_USBSTOR_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"SBP2PORT",
+ &Kd_SBP2PORT_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"COVERAGE",
+ &Kd_COVERAGE_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"CACHEMGR",
+ &Kd_CACHEMGR_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"MOUNTMGR",
+ &Kd_MOUNTMGR_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"CFR",
+ &Kd_CFR_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"TXF",
+ &Kd_TXF_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"KSECDD",
+ &Kd_KSECDD_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"FLTREGRESS",
+ &Kd_FLTREGRESS_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"MPIO",
+ &Kd_MPIO_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"MSDSM",
+ &Kd_MSDSM_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"UDFS",
+ &Kd_UDFS_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"PSHED",
+ &Kd_PSHED_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"STORVSP",
+ &Kd_STORVSP_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"LSASS",
+ &Kd_LSASS_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"SSPICLI",
+ &Kd_SSPICLI_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"CNG",
+ &Kd_CNG_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"EXFAT",
+ &Kd_EXFAT_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"FILETRACE",
+ &Kd_FILETRACE_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"XSAVE",
+ &Kd_XSAVE_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"SE",
+ &Kd_SE_Mask,
+ NULL,
+ NULL
+ },
+ {
+ L"Session Manager\\Debug Print Filter",
+ L"DRIVEEXTENDER",
+ &Kd_DRIVEEXTENDER_Mask,
+ NULL,
+ NULL
+ },
+//
+// END OF Debug Filter Masks
+//
+
+ {
+ L"WMI",
+ L"MaxEventSize",
+ &DummyData,
+ NULL,
+ NULL
+ },
+ {
+ L"WMI\\Trace",
+ L"UsePerformanceClock",
+ &DummyData,
+ NULL,
+ NULL
+ },
+ {
+ L"WMI\\Trace",
+ L"TraceAlignment",
+ &DummyData,
NULL,
NULL
},
-
{
NULL,
NULL,
diff --git a/ntoskrnl/include/internal/kd64.h b/ntoskrnl/include/internal/kd64.h
index 6917845a1b7..f1fa443c8da 100644
--- a/ntoskrnl/include/internal/kd64.h
+++ b/ntoskrnl/include/internal/kd64.h
@@ -546,9 +546,7 @@ extern BOOLEAN KdpControlCPressed;
extern BOOLEAN KdpContextSent;
extern KSPIN_LOCK KdpDebuggerLock;
extern LARGE_INTEGER KdTimerStop, KdTimerStart, KdTimerDifference;
-extern ULONG KdComponentTableSize;
-extern ULONG Kd_WIN2000_Mask;
-extern PULONG KdComponentTable[104];
+
extern CHAR KdpMessageBuffer[0x1000], KdpPathBuffer[0x1000];
extern CHAR KdPrintDefaultCircularBuffer[KD_DEFAULT_LOG_BUFFER_SIZE];
extern BREAKPOINT_ENTRY KdpBreakpointTable[KD_BREAKPOINT_MAX];
@@ -559,3 +557,164 @@ extern ULONG KdpNumInternalBreakpoints;
extern ULONG_PTR KdpCurrentSymbolStart, KdpCurrentSymbolEnd;
extern ULONG TraceDataBuffer[40];
extern ULONG TraceDataBufferPosition;
+
+//
+// Debug Filter Component Table
+//
+#define MAX_KD_COMPONENT_TABLE_ENTRIES 147
+extern ULONG KdComponentTableSize;
+extern PULONG KdComponentTable[MAX_KD_COMPONENT_TABLE_ENTRIES];
+
+//
+// Debug Filter Masks
+//
+extern ULONG Kd_WIN2000_Mask;
+extern ULONG Kd_SYSTEM_Mask;
+extern ULONG Kd_SMSS_Mask;
+extern ULONG Kd_SETUP_Mask;
+extern ULONG Kd_NTFS_Mask;
+extern ULONG Kd_FSTUB_Mask;
+extern ULONG Kd_CRASHDUMP_Mask;
+extern ULONG Kd_CDAUDIO_Mask;
+extern ULONG Kd_CDROM_Mask;
+extern ULONG Kd_CLASSPNP_Mask;
+extern ULONG Kd_DISK_Mask;
+extern ULONG Kd_REDBOOK_Mask;
+extern ULONG Kd_STORPROP_Mask;
+extern ULONG Kd_SCSIPORT_Mask;
+extern ULONG Kd_SCSIMINIPORT_Mask;
+extern ULONG Kd_CONFIG_Mask;
+extern ULONG Kd_I8042PRT_Mask;
+extern ULONG Kd_SERMOUSE_Mask;
+extern ULONG Kd_LSERMOUS_Mask;
+extern ULONG Kd_KBDHID_Mask;
+extern ULONG Kd_MOUHID_Mask;
+extern ULONG Kd_KBDCLASS_Mask;
+extern ULONG Kd_MOUCLASS_Mask;
+extern ULONG Kd_TWOTRACK_Mask;
+extern ULONG Kd_WMILIB_Mask;
+extern ULONG Kd_ACPI_Mask;
+extern ULONG Kd_AMLI_Mask;
+extern ULONG Kd_HALIA64_Mask;
+extern ULONG Kd_VIDEO_Mask;
+extern ULONG Kd_SVCHOST_Mask;
+extern ULONG Kd_VIDEOPRT_Mask;
+extern ULONG Kd_TCPIP_Mask;
+extern ULONG Kd_DMSYNTH_Mask;
+extern ULONG Kd_NTOSPNP_Mask;
+extern ULONG Kd_FASTFAT_Mask;
+extern ULONG Kd_SAMSS_Mask;
+extern ULONG Kd_PNPMGR_Mask;
+extern ULONG Kd_NETAPI_Mask;
+extern ULONG Kd_SCSERVER_Mask;
+extern ULONG Kd_SCCLIENT_Mask;
+extern ULONG Kd_SERIAL_Mask;
+extern ULONG Kd_SERENUM_Mask;
+extern ULONG Kd_UHCD_Mask;
+extern ULONG Kd_RPCPROXY_Mask;
+extern ULONG Kd_AUTOCHK_Mask;
+extern ULONG Kd_DCOMSS_Mask;
+extern ULONG Kd_UNIMODEM_Mask;
+extern ULONG Kd_SIS_Mask;
+extern ULONG Kd_FLTMGR_Mask;
+extern ULONG Kd_WMICORE_Mask;
+extern ULONG Kd_BURNENG_Mask;
+extern ULONG Kd_IMAPI_Mask;
+extern ULONG Kd_SXS_Mask;
+extern ULONG Kd_FUSION_Mask;
+extern ULONG Kd_IDLETASK_Mask;
+extern ULONG Kd_SOFTPCI_Mask;
+extern ULONG Kd_TAPE_Mask;
+extern ULONG Kd_MCHGR_Mask;
+extern ULONG Kd_IDEP_Mask;
+extern ULONG Kd_PCIIDE_Mask;
+extern ULONG Kd_FLOPPY_Mask;
+extern ULONG Kd_FDC_Mask;
+extern ULONG Kd_TERMSRV_Mask;
+extern ULONG Kd_W32TIME_Mask;
+extern ULONG Kd_PREFETCHER_Mask;
+extern ULONG Kd_RSFILTER_Mask;
+extern ULONG Kd_FCPORT_Mask;
+extern ULONG Kd_PCI_Mask;
+extern ULONG Kd_DMIO_Mask;
+extern ULONG Kd_DMCONFIG_Mask;
+extern ULONG Kd_DMADMIN_Mask;
+extern ULONG Kd_WSOCKTRANSPORT_Mask;
+extern ULONG Kd_VSS_Mask;
+extern ULONG Kd_PNPMEM_Mask;
+extern ULONG Kd_PROCESSOR_Mask;
+extern ULONG Kd_DMSERVER_Mask;
+extern ULONG Kd_SR_Mask;
+extern ULONG Kd_INFINIBAND_Mask;
+extern ULONG Kd_IHVDRIVER_Mask;
+extern ULONG Kd_IHVVIDEO_Mask;
+extern ULONG Kd_IHVAUDIO_Mask;
+extern ULONG Kd_IHVNETWORK_Mask;
+extern ULONG Kd_IHVSTREAMING_Mask;
+extern ULONG Kd_IHVBUS_Mask;
+extern ULONG Kd_HPS_Mask;
+extern ULONG Kd_RTLTHREADPOOL_Mask;
+extern ULONG Kd_LDR_Mask;
+extern ULONG Kd_TCPIP6_Mask;
+extern ULONG Kd_ISAPNP_Mask;
+extern ULONG Kd_SHPC_Mask;
+extern ULONG Kd_STORPORT_Mask;
+extern ULONG Kd_STORMINIPORT_Mask;
+extern ULONG Kd_PRINTSPOOLER_Mask;
+extern ULONG Kd_VSSDYNDISK_Mask;
+extern ULONG Kd_VERIFIER_Mask;
+extern ULONG Kd_VDS_Mask;
+extern ULONG Kd_VDSBAS_Mask;
+extern ULONG Kd_VDSDYN_Mask; // Specified in Vista+
+extern ULONG Kd_VDSDYNDR_Mask;
+extern ULONG Kd_VDSLDR_Mask; // Specified in Vista+
+extern ULONG Kd_VDSUTIL_Mask;
+extern ULONG Kd_DFRGIFC_Mask;
+extern ULONG Kd_DEFAULT_Mask;
+extern ULONG Kd_MM_Mask;
+extern ULONG Kd_DFSC_Mask;
+extern ULONG Kd_WOW64_Mask;
+//
+// Components specified in Vista+, some of which we also use in ReactOS
+//
+extern ULONG Kd_ALPC_Mask;
+extern ULONG Kd_WDI_Mask;
+extern ULONG Kd_PERFLIB_Mask;
+extern ULONG Kd_KTM_Mask;
+extern ULONG Kd_IOSTRESS_Mask;
+extern ULONG Kd_HEAP_Mask;
+extern ULONG Kd_WHEA_Mask;
+extern ULONG Kd_USERGDI_Mask;
+extern ULONG Kd_MMCSS_Mask;
+extern ULONG Kd_TPM_Mask;
+extern ULONG Kd_THREADORDER_Mask;
+extern ULONG Kd_ENVIRON_Mask;
+extern ULONG Kd_EMS_Mask;
+extern ULONG Kd_WDT_Mask;
+extern ULONG Kd_FVEVOL_Mask;
+extern ULONG Kd_NDIS_Mask;
+extern ULONG Kd_NVCTRACE_Mask;
+extern ULONG Kd_LUAFV_Mask;
+extern ULONG Kd_APPCOMPAT_Mask;
+extern ULONG Kd_USBSTOR_Mask;
+extern ULONG Kd_SBP2PORT_Mask;
+extern ULONG Kd_COVERAGE_Mask;
+extern ULONG Kd_CACHEMGR_Mask;
+extern ULONG Kd_MOUNTMGR_Mask;
+extern ULONG Kd_CFR_Mask;
+extern ULONG Kd_TXF_Mask;
+extern ULONG Kd_KSECDD_Mask;
+extern ULONG Kd_FLTREGRESS_Mask;
+extern ULONG Kd_MPIO_Mask;
+extern ULONG Kd_MSDSM_Mask;
+extern ULONG Kd_UDFS_Mask;
+extern ULONG Kd_PSHED_Mask;
+extern ULONG Kd_STORVSP_Mask;
+extern ULONG Kd_LSASS_Mask;
+extern ULONG Kd_SSPICLI_Mask;
+extern ULONG Kd_CNG_Mask;
+extern ULONG Kd_EXFAT_Mask;
+extern ULONG Kd_FILETRACE_Mask;
+extern ULONG Kd_XSAVE_Mask;
+extern ULONG Kd_SE_Mask;
+extern ULONG Kd_DRIVEEXTENDER_Mask;
diff --git a/ntoskrnl/kd64/kdapi.c b/ntoskrnl/kd64/kdapi.c
index 3b6ba4ff9f6..1f0066d8ffe 100644
--- a/ntoskrnl/kd64/kdapi.c
+++ b/ntoskrnl/kd64/kdapi.c
@@ -2295,8 +2295,9 @@ KdRefreshDebuggerNotPresent(VOID)
*/
NTSTATUS
NTAPI
-NtQueryDebugFilterState(IN ULONG ComponentId,
- IN ULONG Level)
+NtQueryDebugFilterState(
+ _In_ ULONG ComponentId,
+ _In_ ULONG Level)
{
PULONG Mask;
@@ -2316,16 +2317,22 @@ NtQueryDebugFilterState(IN ULONG ComponentId,
}
else
{
+#if (NTDDI_VERSION >= NTDDI_VISTA)
+ /* Use the default component ID */
+ Mask = &Kd_DEFAULT_Mask;
+ // Level = DPFLTR_INFO_LEVEL; // Override the Level.
+#else
/* Invalid ID, fail */
return STATUS_INVALID_PARAMETER_1;
+#endif
}
- /* Convert Level to bit field if necessary */
+ /* Convert Level to bit field if required */
if (Level < 32) Level = 1 << Level;
+ Level &= ~DPFLTR_MASK;
/* Determine if this Level is filtered out */
- if ((Kd_WIN2000_Mask & Level) ||
- (*Mask & Level))
+ if ((Kd_WIN2000_Mask & Level) || (*Mask & Level))
{
/* This mask will get through to the debugger */
return (NTSTATUS)TRUE;
@@ -2342,15 +2349,15 @@ NtQueryDebugFilterState(IN ULONG ComponentId,
*/
NTSTATUS
NTAPI
-NtSetDebugFilterState(IN ULONG ComponentId,
- IN ULONG Level,
- IN BOOLEAN State)
+NtSetDebugFilterState(
+ _In_ ULONG ComponentId,
+ _In_ ULONG Level,
+ _In_ BOOLEAN State)
{
PULONG Mask;
/* Modifying debug filters requires the debug privilege */
- if (!SeSinglePrivilegeCheck(SeDebugPrivilege,
- ExGetPreviousMode()))
+ if (!SeSinglePrivilegeCheck(SeDebugPrivilege, ExGetPreviousMode()))
{
/* Fail */
return STATUS_ACCESS_DENIED;
@@ -2372,25 +2379,24 @@ NtSetDebugFilterState(IN ULONG ComponentId,
}
else
{
+#if (NTDDI_VERSION >= NTDDI_VISTA)
+ /* Use the default component ID */
+ Mask = &Kd_DEFAULT_Mask;
+#else
/* Invalid ID, fail */
return STATUS_INVALID_PARAMETER_1;
+#endif
}
/* Convert Level to bit field if required */
if (Level < 32) Level = 1 << Level;
+ Level &= ~DPFLTR_MASK;
- /* Check what kind of operation this is */
+ /* Set or remove the Level */
if (State)
- {
- /* Set the Level */
*Mask |= Level;
- }
else
- {
- /* Remove the Level */
*Mask &= ~Level;
- }
- /* Success */
return STATUS_SUCCESS;
}
diff --git a/ntoskrnl/kd64/kddata.c b/ntoskrnl/kd64/kddata.c
index 681eb9bed9d..5576c405842 100644
--- a/ntoskrnl/kd64/kddata.c
+++ b/ntoskrnl/kd64/kddata.c
@@ -237,19 +237,66 @@ ULONG Kd_VSSDYNDISK_Mask;
ULONG Kd_VERIFIER_Mask;
ULONG Kd_VDS_Mask;
ULONG Kd_VDSBAS_Mask;
+ULONG Kd_VDSDYN_Mask; // Specified in Vista+
ULONG Kd_VDSDYNDR_Mask;
+ULONG Kd_VDSLDR_Mask; // Specified in Vista+
ULONG Kd_VDSUTIL_Mask;
ULONG Kd_DFRGIFC_Mask;
ULONG Kd_DEFAULT_Mask;
ULONG Kd_MM_Mask;
ULONG Kd_DFSC_Mask;
ULONG Kd_WOW64_Mask;
+//
+// Components specified in Vista+, some of which we also use in ReactOS
+//
+ULONG Kd_ALPC_Mask;
+ULONG Kd_WDI_Mask;
+ULONG Kd_PERFLIB_Mask;
+ULONG Kd_KTM_Mask;
+ULONG Kd_IOSTRESS_Mask;
+ULONG Kd_HEAP_Mask;
+ULONG Kd_WHEA_Mask;
+ULONG Kd_USERGDI_Mask;
+ULONG Kd_MMCSS_Mask;
+ULONG Kd_TPM_Mask;
+ULONG Kd_THREADORDER_Mask;
+ULONG Kd_ENVIRON_Mask;
+ULONG Kd_EMS_Mask;
+ULONG Kd_WDT_Mask;
+ULONG Kd_FVEVOL_Mask;
+ULONG Kd_NDIS_Mask;
+ULONG Kd_NVCTRACE_Mask;
+ULONG Kd_LUAFV_Mask;
+ULONG Kd_APPCOMPAT_Mask;
+ULONG Kd_USBSTOR_Mask;
+ULONG Kd_SBP2PORT_Mask;
+ULONG Kd_COVERAGE_Mask;
+ULONG Kd_CACHEMGR_Mask;
+ULONG Kd_MOUNTMGR_Mask;
+ULONG Kd_CFR_Mask;
+ULONG Kd_TXF_Mask;
+ULONG Kd_KSECDD_Mask;
+ULONG Kd_FLTREGRESS_Mask;
+ULONG Kd_MPIO_Mask;
+ULONG Kd_MSDSM_Mask;
+ULONG Kd_UDFS_Mask;
+ULONG Kd_PSHED_Mask;
+ULONG Kd_STORVSP_Mask;
+ULONG Kd_LSASS_Mask;
+ULONG Kd_SSPICLI_Mask;
+ULONG Kd_CNG_Mask;
+ULONG Kd_EXFAT_Mask;
+ULONG Kd_FILETRACE_Mask;
+ULONG Kd_XSAVE_Mask;
+ULONG Kd_SE_Mask;
+ULONG Kd_DRIVEEXTENDER_Mask;
+// End Mask
ULONG Kd_ENDOFTABLE_Mask;
//
// Debug Filter Component Table
//
-PULONG KdComponentTable[104] =
+PULONG KdComponentTable[MAX_KD_COMPONENT_TABLE_ENTRIES] =
{
&Kd_SYSTEM_Mask,
&Kd_SMSS_Mask,
@@ -347,13 +394,61 @@ PULONG KdComponentTable[104] =
&Kd_VERIFIER_Mask,
&Kd_VDS_Mask,
&Kd_VDSBAS_Mask,
+ &Kd_VDSDYN_Mask, // Specified in Vista+
&Kd_VDSDYNDR_Mask,
+ &Kd_VDSLDR_Mask, // Specified in Vista+
&Kd_VDSUTIL_Mask,
&Kd_DFRGIFC_Mask,
&Kd_DEFAULT_Mask,
&Kd_MM_Mask,
&Kd_DFSC_Mask,
&Kd_WOW64_Mask,
+
+//
+// Components specified in Vista+, some of which we also use in ReactOS
+//
+ &Kd_ALPC_Mask,
+ &Kd_WDI_Mask,
+ &Kd_PERFLIB_Mask,
+ &Kd_KTM_Mask,
+ &Kd_IOSTRESS_Mask,
+ &Kd_HEAP_Mask,
+ &Kd_WHEA_Mask,
+ &Kd_USERGDI_Mask,
+ &Kd_MMCSS_Mask,
+ &Kd_TPM_Mask,
+ &Kd_THREADORDER_Mask,
+ &Kd_ENVIRON_Mask,
+ &Kd_EMS_Mask,
+ &Kd_WDT_Mask,
+ &Kd_FVEVOL_Mask,
+ &Kd_NDIS_Mask,
+ &Kd_NVCTRACE_Mask,
+ &Kd_LUAFV_Mask,
+ &Kd_APPCOMPAT_Mask,
+ &Kd_USBSTOR_Mask,
+ &Kd_SBP2PORT_Mask,
+ &Kd_COVERAGE_Mask,
+ &Kd_CACHEMGR_Mask,
+ &Kd_MOUNTMGR_Mask,
+ &Kd_CFR_Mask,
+ &Kd_TXF_Mask,
+ &Kd_KSECDD_Mask,
+ &Kd_FLTREGRESS_Mask,
+ &Kd_MPIO_Mask,
+ &Kd_MSDSM_Mask,
+ &Kd_UDFS_Mask,
+ &Kd_PSHED_Mask,
+ &Kd_STORVSP_Mask,
+ &Kd_LSASS_Mask,
+ &Kd_SSPICLI_Mask,
+ &Kd_CNG_Mask,
+ &Kd_EXFAT_Mask,
+ &Kd_FILETRACE_Mask,
+ &Kd_XSAVE_Mask,
+ &Kd_SE_Mask,
+ &Kd_DRIVEEXTENDER_Mask,
+ // End Mask
&Kd_ENDOFTABLE_Mask,
};
diff --git a/ntoskrnl/kd64/kdprint.c b/ntoskrnl/kd64/kdprint.c
index 7604a255ab4..8f721e80887 100644
--- a/ntoskrnl/kd64/kdprint.c
+++ b/ntoskrnl/kd64/kdprint.c
@@ -331,8 +331,19 @@ KdpPrint(IN ULONG ComponentId,
/* Assume failure */
*Handled = FALSE;
- /* Validate the mask */
+#if (NTDDI_VERSION >= NTDDI_VISTA)
+ if ((ComponentId >= KdComponentTableSize) && (ComponentId < MAXULONG))
+ {
+ /* Use the default component ID */
+ Mask = &Kd_DEFAULT_Mask;
+ // Level = DPFLTR_INFO_LEVEL; // Override the Level.
+ }
+#endif
+ /* Convert Level to bit field if required */
if (Level < 32) Level = 1 << Level;
+ Level &= ~DPFLTR_MASK;
+
+ /* Validate the mask */
if (!(Kd_WIN2000_Mask & Level) ||
((ComponentId < KdComponentTableSize) &&
!(*KdComponentTable[ComponentId] & Level)))
diff --git a/ntoskrnl/kdbg/kdb_cli.c b/ntoskrnl/kdbg/kdb_cli.c
index abf2e6d84aa..5e7d40d230f 100644
--- a/ntoskrnl/kdbg/kdb_cli.c
+++ b/ntoskrnl/kdbg/kdb_cli.c
@@ -222,7 +222,14 @@ KdbpGetComponentId(
}
ComponentTable[] =
{
- { "DEFAULT", MAXULONG },
+//
+// Default components
+//
+ { "WIN2000", MAXULONG },
+ { "DEFAULT", DPFLTR_DEFAULT_ID },
+//
+// Standard components
+//
{ "SYSTEM", DPFLTR_SYSTEM_ID },
{ "SMSS", DPFLTR_SMSS_ID },
{ "SETUP", DPFLTR_SETUP_ID },
@@ -327,6 +334,9 @@ KdbpGetComponentId(
{ "MM", DPFLTR_MM_ID },
{ "DFSC", DPFLTR_DFSC_ID },
{ "WOW64", DPFLTR_WOW64_ID },
+//
+// Components specified in Vista+, some of which we also use in ReactOS
+//
{ "ALPC", DPFLTR_ALPC_ID },
{ "WDI", DPFLTR_WDI_ID },
{ "PERFLIB", DPFLTR_PERFLIB_ID },
diff --git a/sdk/include/ndk/kdfuncs.h b/sdk/include/ndk/kdfuncs.h
index cd71e2b58cf..2d9278f8f80 100644
--- a/sdk/include/ndk/kdfuncs.h
+++ b/sdk/include/ndk/kdfuncs.h
@@ -57,17 +57,17 @@ NTSYSCALLAPI
NTSTATUS
NTAPI
NtQueryDebugFilterState(
- ULONG ComponentId,
- ULONG Level
+ _In_ ULONG ComponentId,
+ _In_ ULONG Level
);
NTSYSCALLAPI
NTSTATUS
NTAPI
NtSetDebugFilterState(
- ULONG ComponentId,
- ULONG Level,
- BOOLEAN State
+ _In_ ULONG ComponentId,
+ _In_ ULONG Level,
+ _In_ BOOLEAN State
);
NTSYSCALLAPI