ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
November 2019
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
24 participants
322 discussions
Start a n
N
ew thread
[reactos] 03/06: [NTOS] Complete the support of Debug Filters. CORE-13529
by Hermès Bélusca-Maïto
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
5 years, 1 month
1
0
0
0
[reactos] 02/06: [NTOS:KD/KDBG] Code enhancements for KDBG/KD.
by Hermès Bélusca-Maïto
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=9537653ee79376b200be8…
commit 9537653ee79376b200be87ebabd7e6ce7a30065f Author: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> AuthorDate: Sun Nov 17 16:44:22 2019 +0100 Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> CommitDate: Sun Nov 17 23:21:50 2019 +0100 [NTOS:KD/KDBG] Code enhancements for KDBG/KD. - Introduce KdpScreenAcquire() / KdpScreenRelease() helpers that allow to correctly acquire or release the screen when using INBV for "Screen-Mode" debugging. - Introduce KdpAcquireLock() / KdpReleaseLock() helpers so as to reduce the copy-pasted code required when acquiring spin-locks in the KD debug logger functions. - Close the opened KdpLogFileHandle file in the KdpInitDebugLog() logger in case we failed to create the logger writer thread. Also use explicit kernel-mode handle when opening the log file. - static-ify some local variables, remove few hardcoded values, and minor formatting. - Correctly define the INIT_FUNCTION's. --- ntoskrnl/include/internal/kd.h | 17 ++- ntoskrnl/kd/kdinit.c | 8 +- ntoskrnl/kd/kdio.c | 233 ++++++++++++++++++++++------------------- ntoskrnl/kd64/kdinit.c | 10 +- ntoskrnl/kdbg/kdb.c | 35 +++---- 5 files changed, 156 insertions(+), 147 deletions(-) diff --git a/ntoskrnl/include/internal/kd.h b/ntoskrnl/include/internal/kd.h index 162ece58f71..ef66e2abea2 100644 --- a/ntoskrnl/include/internal/kd.h +++ b/ntoskrnl/include/internal/kd.h @@ -106,7 +106,7 @@ VOID typedef VOID (NTAPI*PKDP_PRINT_ROUTINE)( - LPSTR String, + PCHAR String, ULONG Length ); @@ -139,6 +139,12 @@ KdInitSystem( PLOADER_PARAMETER_BLOCK LoaderBlock ); +VOID +KdpScreenAcquire(VOID); + +VOID +KdpScreenRelease(VOID); + VOID NTAPI KdpScreenInit( @@ -155,7 +161,7 @@ KdpSerialInit( VOID NTAPI -KdpInitDebugLog( +KdpDebugLogInit( struct _KD_DISPATCH_TABLE *DispatchTable, ULONG BootPhase ); @@ -193,13 +199,6 @@ BOOLEAN NTAPI KdpDetectConflicts(PCM_RESOURCE_LIST DriverList); -VOID -NTAPI -KdpBochsDebugPrint( - IN PCH Message, - IN ULONG Length -); - BOOLEAN NTAPI KdpSafeReadMemory( diff --git a/ntoskrnl/kd/kdinit.c b/ntoskrnl/kd/kdinit.c index 3e32b160920..a73ec17ecad 100644 --- a/ntoskrnl/kd/kdinit.c +++ b/ntoskrnl/kd/kdinit.c @@ -31,7 +31,7 @@ KD_DISPATCH_TABLE DispatchTable[KdMax]; PKDP_INIT_ROUTINE InitRoutines[KdMax] = {KdpScreenInit, KdpSerialInit, - KdpInitDebugLog, + KdpDebugLogInit, KdpBochsInit, KdpKdbgInit}; @@ -39,9 +39,9 @@ extern ANSI_STRING KdpLogFileName; /* PRIVATE FUNCTIONS *********************************************************/ +INIT_FUNCTION PCHAR NTAPI -INIT_FUNCTION KdpGetDebugMode(PCHAR Currentp2) { PCHAR p1, p2 = Currentp2; @@ -135,9 +135,9 @@ KdpGetDebugMode(PCHAR Currentp2) return p2; } +INIT_FUNCTION VOID NTAPI -INIT_FUNCTION KdpCallInitRoutine(ULONG BootPhase) { PLIST_ENTRY CurrentEntry; @@ -213,7 +213,7 @@ KdInitSystem(ULONG BootPhase, } else { - /* Called from a bugcheck or a re-enable. Unconditionally enable KD */ + /* Called from a bugcheck or a re-enable. Unconditionally enable KD. */ KdDebuggerEnabled = TRUE; } diff --git a/ntoskrnl/kd/kdio.c b/ntoskrnl/kd/kdio.c index 38a1d3fc9a2..23b163b4ebf 100644 --- a/ntoskrnl/kd/kdio.c +++ b/ntoskrnl/kd/kdio.c @@ -17,33 +17,33 @@ /* GLOBALS *******************************************************************/ #define KdpBufferSize (1024 * 512) -BOOLEAN KdpLoggingEnabled = FALSE; -PCHAR KdpDebugBuffer = NULL; -volatile ULONG KdpCurrentPosition = 0; -volatile ULONG KdpFreeBytes = 0; -KSPIN_LOCK KdpDebugLogSpinLock; -KEVENT KdpLoggerThreadEvent; -HANDLE KdpLogFileHandle; +static BOOLEAN KdpLoggingEnabled = FALSE; +static PCHAR KdpDebugBuffer = NULL; +static volatile ULONG KdpCurrentPosition = 0; +static volatile ULONG KdpFreeBytes = 0; +static KSPIN_LOCK KdpDebugLogSpinLock; +static KEVENT KdpLoggerThreadEvent; +static HANDLE KdpLogFileHandle; ANSI_STRING KdpLogFileName = RTL_CONSTANT_STRING("\\SystemRoot\\debug.log"); -KSPIN_LOCK KdpSerialSpinLock; +static KSPIN_LOCK KdpSerialSpinLock; ULONG SerialPortNumber = DEFAULT_DEBUG_PORT; CPPORT SerialPortInfo = {0, DEFAULT_DEBUG_BAUD_RATE, 0}; -/* Current Port in use. FIXME: Do we support more then one? */ +/* Current Port in use. FIXME: Do we support more than one? */ ULONG KdpPort; #define KdpScreenLineLengthDefault 80 -CHAR KdpScreenLineBuffer[KdpScreenLineLengthDefault + 1] = ""; -ULONG KdpScreenLineBufferPos = 0, KdpScreenLineLength = 0; +static CHAR KdpScreenLineBuffer[KdpScreenLineLengthDefault + 1] = ""; +static ULONG KdpScreenLineBufferPos = 0, KdpScreenLineLength = 0; const ULONG KdpDmesgBufferSize = 128 * 1024; // 512*1024; // 5*1024*1024; PCHAR KdpDmesgBuffer = NULL; volatile ULONG KdpDmesgCurrentPosition = 0; volatile ULONG KdpDmesgFreeBytes = 0; volatile ULONG KdbDmesgTotalWritten = 0; -KSPIN_LOCK KdpDmesgLogSpinLock; volatile BOOLEAN KdbpIsInDmesgMode = FALSE; +static KSPIN_LOCK KdpDmesgLogSpinLock; /* UTILITY FUNCTIONS *********************************************************/ @@ -57,8 +57,8 @@ volatile BOOLEAN KdbpIsInDmesgMode = FALSE; * * See also: kd64\kdinit.c */ -static SIZE_T -INIT_FUNCTION +static INIT_FUNCTION +SIZE_T KdpGetMemorySizeInMBs(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { PLIST_ENTRY ListEntry; @@ -98,8 +98,8 @@ KdpGetMemorySizeInMBs(IN PLOADER_PARAMETER_BLOCK LoaderBlock) } /* See also: kd64\kdinit.c */ -static VOID -INIT_FUNCTION +static INIT_FUNCTION +VOID KdpPrintBanner(IN SIZE_T MemSizeMBs) { DPRINT1("-----------------------------------------------------\n"); @@ -109,10 +109,51 @@ KdpPrintBanner(IN SIZE_T MemSizeMBs) DPRINT1("ARC Paths: %s %s %s %s\n", KeLoaderBlock->ArcBootDeviceName, KeLoaderBlock->NtHalPathName, KeLoaderBlock->ArcHalDeviceName, KeLoaderBlock->NtBootPathName); } -/* FILE DEBUG LOG FUNCTIONS **************************************************/ +/* LOCKING FUNCTIONS *********************************************************/ + +KIRQL +NTAPI +KdpAcquireLock(IN PKSPIN_LOCK SpinLock) +{ + KIRQL OldIrql; + + /* Acquire the spinlock without waiting at raised IRQL */ + while (TRUE) + { + /* Loop until the spinlock becomes available */ + while (!KeTestSpinLock(SpinLock)); + + /* Spinlock is free, raise IRQL to high level */ + KeRaiseIrql(HIGH_LEVEL, &OldIrql); + + /* Try to get the spinlock */ + if (KeTryToAcquireSpinLockAtDpcLevel(SpinLock)) + break; + + /* Someone else got the spinlock, lower IRQL back */ + KeLowerIrql(OldIrql); + } + + return OldIrql; +} VOID NTAPI +KdpReleaseLock(IN PKSPIN_LOCK SpinLock, + IN KIRQL OldIrql) +{ + /* Release the spinlock */ + KiReleaseSpinLock(SpinLock); + // KeReleaseSpinLockFromDpcLevel(SpinLock); + + /* Restore the old IRQL */ + KeLowerIrql(OldIrql); +} + +/* FILE DEBUG LOG FUNCTIONS **************************************************/ + +static VOID +NTAPI KdpLoggerThread(PVOID Context) { ULONG beg, end, num; @@ -122,7 +163,7 @@ KdpLoggerThread(PVOID Context) while (TRUE) { - KeWaitForSingleObject(&KdpLoggerThreadEvent, 0, KernelMode, FALSE, NULL); + KeWaitForSingleObject(&KdpLoggerThreadEvent, Executive, KernelMode, FALSE, NULL); /* Bug */ /* Keep KdpCurrentPosition and KdpFreeBytes values in local @@ -158,32 +199,18 @@ KdpLoggerThread(PVOID Context) } } -VOID +static VOID NTAPI -KdpPrintToLogFile(PCH String, +KdpPrintToLogFile(PCHAR String, ULONG StringLength) { - ULONG beg, end, num; KIRQL OldIrql; + ULONG beg, end, num; if (KdpDebugBuffer == NULL) return; /* Acquire the printing spinlock without waiting at raised IRQL */ - while (TRUE) - { - /* Wait when the spinlock becomes available */ - while (!KeTestSpinLock(&KdpDebugLogSpinLock)); - - /* Spinlock was free, raise IRQL */ - KeRaiseIrql(HIGH_LEVEL, &OldIrql); - - /* Try to get the spinlock */ - if (KeTryToAcquireSpinLockAtDpcLevel(&KdpDebugLogSpinLock)) - break; - - /* Someone else got the spinlock, lower IRQL back */ - KeLowerIrql(OldIrql); - } + OldIrql = KdpAcquireLock(&KdpDebugLogSpinLock); beg = KdpCurrentPosition; num = KdpFreeBytes; @@ -207,21 +234,17 @@ KdpPrintToLogFile(PCH String, } } - /* Release spinlock */ - KiReleaseSpinLock(&KdpDebugLogSpinLock); - - /* Lower IRQL */ - KeLowerIrql(OldIrql); + /* Release the spinlock */ + KdpReleaseLock(&KdpDebugLogSpinLock, OldIrql); /* Signal the logger thread */ if (OldIrql <= DISPATCH_LEVEL && KdpLoggingEnabled) - KeSetEvent(&KdpLoggerThreadEvent, 0, FALSE); + KeSetEvent(&KdpLoggerThreadEvent, IO_NO_INCREMENT, FALSE); } VOID NTAPI -INIT_FUNCTION -KdpInitDebugLog(PKD_DISPATCH_TABLE DispatchTable, +KdpDebugLogInit(PKD_DISPATCH_TABLE DispatchTable, ULONG BootPhase) { NTSTATUS Status; @@ -239,12 +262,11 @@ KdpInitDebugLog(PKD_DISPATCH_TABLE DispatchTable, KdComPortInUse = NULL; /* Write out the functions that we support for now */ - DispatchTable->KdpInitRoutine = KdpInitDebugLog; + DispatchTable->KdpInitRoutine = KdpDebugLogInit; DispatchTable->KdpPrintRoutine = KdpPrintToLogFile; /* Register as a Provider */ InsertTailList(&KdProviders, &DispatchTable->KdProvidersList); - } else if (BootPhase == 1) { @@ -272,7 +294,7 @@ KdpInitDebugLog(PKD_DISPATCH_TABLE DispatchTable, InitializeObjectAttributes(&ObjectAttributes, &FileName, - 0, + OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE, NULL, NULL); @@ -291,7 +313,8 @@ KdpInitDebugLog(PKD_DISPATCH_TABLE DispatchTable, RtlFreeUnicodeString(&FileName); - if (!NT_SUCCESS(Status)) return; + if (!NT_SUCCESS(Status)) + return; KeInitializeEvent(&KdpLoggerThreadEvent, SynchronizationEvent, TRUE); @@ -303,8 +326,11 @@ KdpInitDebugLog(PKD_DISPATCH_TABLE DispatchTable, NULL, KdpLoggerThread, NULL); - - if (!NT_SUCCESS(Status)) return; + if (!NT_SUCCESS(Status)) + { + NtClose(KdpLogFileHandle); + return; + } Priority = 7; NtSetInformationThread(ThreadHandle, @@ -318,28 +344,14 @@ KdpInitDebugLog(PKD_DISPATCH_TABLE DispatchTable, VOID NTAPI -KdpSerialDebugPrint(LPSTR Message, +KdpSerialDebugPrint(PCHAR Message, ULONG Length) { + PCHAR pch = (PCHAR)Message; KIRQL OldIrql; - PCHAR pch = (PCHAR) Message; /* Acquire the printing spinlock without waiting at raised IRQL */ - while (TRUE) - { - /* Wait when the spinlock becomes available */ - while (!KeTestSpinLock(&KdpSerialSpinLock)); - - /* Spinlock was free, raise IRQL */ - KeRaiseIrql(HIGH_LEVEL, &OldIrql); - - /* Try to get the spinlock */ - if (KeTryToAcquireSpinLockAtDpcLevel(&KdpSerialSpinLock)) - break; - - /* Someone else got the spinlock, lower IRQL back */ - KeLowerIrql(OldIrql); - } + OldIrql = KdpAcquireLock(&KdpSerialSpinLock); /* Output the message */ while (pch < Message + Length && *pch != '\0') @@ -352,11 +364,8 @@ KdpSerialDebugPrint(LPSTR Message, pch++; } - /* Release spinlock */ - KiReleaseSpinLock(&KdpSerialSpinLock); - - /* Lower IRQL */ - KeLowerIrql(OldIrql); + /* Release the spinlock */ + KdpReleaseLock(&KdpSerialSpinLock, OldIrql); } VOID @@ -399,27 +408,58 @@ KdpSerialInit(PKD_DISPATCH_TABLE DispatchTable, /* SCREEN FUNCTIONS **********************************************************/ +VOID +KdpScreenAcquire(VOID) +{ + if (InbvIsBootDriverInstalled() /* && + !InbvCheckDisplayOwnership() */) + { + /* Acquire ownership and reset the display */ + InbvAcquireDisplayOwnership(); + InbvResetDisplay(); + InbvSolidColorFill(0, 0, 639, 479, 0); + InbvSetTextColor(15); + InbvInstallDisplayStringFilter(NULL); + InbvEnableDisplayString(TRUE); + InbvSetScrollRegion(0, 0, 639, 479); + } +} + +// extern VOID NTAPI InbvSetDisplayOwnership(IN BOOLEAN DisplayOwned); + +VOID +KdpScreenRelease(VOID) +{ + if (InbvIsBootDriverInstalled()&& + InbvCheckDisplayOwnership()) + { + /* Release the display */ + // InbvSetDisplayOwnership(FALSE); + InbvNotifyDisplayOwnershipLost(NULL); + } +} + /* * Screen debug logger function KdpScreenPrint() writes text messages into * KdpDmesgBuffer, using it as a circular buffer. KdpDmesgBuffer contents could * be later (re)viewed using dmesg command of kdbg. KdpScreenPrint() protects * KdpDmesgBuffer from simultaneous writes by use of KdpDmesgLogSpinLock. */ -VOID +static VOID NTAPI -KdpScreenPrint(LPSTR Message, +KdpScreenPrint(PCHAR Message, ULONG Length) { - ULONG beg, end, num; + PCHAR pch = (PCHAR)Message; KIRQL OldIrql; - PCHAR pch = (PCHAR) Message; + ULONG beg, end, num; while (pch < Message + Length && *pch) { - if(*pch == '\b') + if (*pch == '\b') { /* HalDisplayString does not support '\b'. Workaround it and use '\r' */ - if(KdpScreenLineLength > 0) + if (KdpScreenLineLength > 0) { /* Remove last character from buffer */ KdpScreenLineBuffer[--KdpScreenLineLength] = '\0'; @@ -436,10 +476,10 @@ KdpScreenPrint(LPSTR Message, KdpScreenLineBuffer[KdpScreenLineLength] = '\0'; } - if(*pch == '\n' || KdpScreenLineLength == KdpScreenLineLengthDefault) + if (*pch == '\n' || KdpScreenLineLength == KdpScreenLineLengthDefault) { /* Print buffered characters */ - if(KdpScreenLineBufferPos != KdpScreenLineLength) + if (KdpScreenLineBufferPos != KdpScreenLineLength) HalDisplayString(KdpScreenLineBuffer + KdpScreenLineBufferPos); /* Clear line buffer */ @@ -451,7 +491,7 @@ KdpScreenPrint(LPSTR Message, } /* Print buffered characters */ - if(KdpScreenLineBufferPos != KdpScreenLineLength) + if (KdpScreenLineBufferPos != KdpScreenLineLength) { HalDisplayString(KdpScreenLineBuffer + KdpScreenLineBufferPos); KdpScreenLineBufferPos = KdpScreenLineLength; @@ -465,21 +505,7 @@ KdpScreenPrint(LPSTR Message, return; /* Acquire the printing spinlock without waiting at raised IRQL */ - while (TRUE) - { - /* Wait when the spinlock becomes available */ - while (!KeTestSpinLock(&KdpDmesgLogSpinLock)); - - /* Spinlock was free, raise IRQL */ - KeRaiseIrql(HIGH_LEVEL, &OldIrql); - - /* Try to get the spinlock */ - if (KeTryToAcquireSpinLockAtDpcLevel(&KdpDmesgLogSpinLock)) - break; - - /* Someone else got the spinlock, lower IRQL back */ - KeLowerIrql(OldIrql); - } + OldIrql = KdpAcquireLock(&KdpDmesgLogSpinLock); /* Invariant: always_true(KdpDmesgFreeBytes == KdpDmesgBufferSize); * set num to min(KdpDmesgFreeBytes, Length). @@ -504,11 +530,8 @@ KdpScreenPrint(LPSTR Message, KdbDmesgTotalWritten += num; } - /* Release spinlock */ - KiReleaseSpinLock(&KdpDmesgLogSpinLock); - - /* Lower IRQL */ - KeLowerIrql(OldIrql); + /* Release the spinlock */ + KdpReleaseLock(&KdpDmesgLogSpinLock, OldIrql); /* Optional step(?): find out a way to notify about buffer exhaustion, * and possibly fall into kbd to use dmesg command: user will read @@ -544,13 +567,7 @@ KdpScreenInit(PKD_DISPATCH_TABLE DispatchTable, KdbDmesgTotalWritten = 0; /* Take control of the display */ - InbvAcquireDisplayOwnership(); - InbvResetDisplay(); - InbvSolidColorFill(0, 0, 639, 479, 0); - InbvSetTextColor(15); - InbvSetScrollRegion(0, 0, 639, 479); - InbvInstallDisplayStringFilter(NULL); - InbvEnableDisplayString(TRUE); + KdpScreenAcquire(); /* Initialize spinlock */ KeInitializeSpinLock(&KdpDmesgLogSpinLock); diff --git a/ntoskrnl/kd64/kdinit.c b/ntoskrnl/kd64/kdinit.c index b6a8beb9ce9..43d2e8fc6b5 100644 --- a/ntoskrnl/kd64/kdinit.c +++ b/ntoskrnl/kd64/kdinit.c @@ -26,8 +26,8 @@ * * See also: kd\kdio.c */ -static SIZE_T -INIT_FUNCTION +static INIT_FUNCTION +SIZE_T KdpGetMemorySizeInMBs(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { PLIST_ENTRY ListEntry; @@ -67,8 +67,8 @@ KdpGetMemorySizeInMBs(IN PLOADER_PARAMETER_BLOCK LoaderBlock) } /* See also: kd\kdio.c */ -static VOID -INIT_FUNCTION +static INIT_FUNCTION +VOID KdpPrintBanner(IN SIZE_T MemSizeMBs) { DPRINT1("-----------------------------------------------------\n"); @@ -340,7 +340,7 @@ KdInitSystem(IN ULONG BootPhase, } else { - /* Called from a bugcheck or a re-enable. Save the Kernel Base */ + /* Called from a bugcheck or a re-enable. Save the Kernel Base. */ KdVersionBlock.KernBase = (ULONG64)(LONG_PTR)PsNtosImageBase; /* Unconditionally enable KD */ diff --git a/ntoskrnl/kdbg/kdb.c b/ntoskrnl/kdbg/kdb.c index d75ab137e64..5e7f5e249fc 100644 --- a/ntoskrnl/kdbg/kdb.c +++ b/ntoskrnl/kdbg/kdb.c @@ -1218,21 +1218,9 @@ KdbpInternalEnter(VOID) KbdDisableMouse(); - if (KdpDebugMode.Screen && - InbvIsBootDriverInstalled() && - !InbvCheckDisplayOwnership()) - { - /* Acquire ownership and reset the display */ - InbvAcquireDisplayOwnership(); - InbvResetDisplay(); - - /* Display debugger prompt */ - InbvSolidColorFill(0, 0, 639, 479, 0); - InbvSetTextColor(15); - InbvInstallDisplayStringFilter(NULL); - InbvEnableDisplayString(TRUE); - InbvSetScrollRegion(0, 0, 639, 479); - } + /* Take control of the display */ + if (KdpDebugMode.Screen) + KdpScreenAcquire(); /* Call the interface's main loop on a different stack */ Thread = PsGetCurrentThread(); @@ -1244,7 +1232,7 @@ KdbpInternalEnter(VOID) Thread->Tcb.StackLimit = (ULONG_PTR)KdbStack; Thread->Tcb.KernelStack = (char*)KdbStack + KDB_STACK_SIZE; - /*KdbpPrint("Switching to KDB stack 0x%08x-0x%08x (Current Stack is 0x%08x)\n", Thread->Tcb.StackLimit, Thread->Tcb.StackBase, Esp);*/ + // KdbpPrint("Switching to KDB stack 0x%08x-0x%08x (Current Stack is 0x%08x)\n", Thread->Tcb.StackLimit, Thread->Tcb.StackBase, Esp); KdbpStackSwitchAndCall(KdbStack + KDB_STACK_SIZE - sizeof(ULONG), KdbpCallMainLoop); @@ -1252,6 +1240,11 @@ KdbpInternalEnter(VOID) Thread->Tcb.StackBase = SavedStackBase; Thread->Tcb.StackLimit = SavedStackLimit; Thread->Tcb.KernelStack = SavedKernelStack; + + /* Release the display */ + if (KdpDebugMode.Screen) + KdpScreenRelease(); + KbdEnableMouse(); } @@ -1363,7 +1356,7 @@ KdbEnterDebuggerException( EnterConditionMet = FALSE; } - /* If we stopped on one of our breakpoints then let the user know. */ + /* If we stopped on one of our breakpoints then let the user know */ KdbLastBreakPointNr = -1; KdbEnteredOnSingleStep = FALSE; @@ -1374,7 +1367,7 @@ KdbEnterDebuggerException( if (ExceptionCode == STATUS_BREAKPOINT) { - /* ... and restore the original instruction. */ + /* ... and restore the original instruction */ if (!NT_SUCCESS(KdbpOverwriteInstruction(KdbCurrentProcess, BreakPoint->Address, BreakPoint->Data.SavedInstruction, NULL))) { @@ -1408,7 +1401,7 @@ KdbEnterDebuggerException( { ASSERT((TrapFrame->EFlags & EFLAGS_TF) == 0); - /* Delete the temporary breakpoint which was used to step over or into the instruction. */ + /* Delete the temporary breakpoint which was used to step over or into the instruction */ KdbpDeleteBreakPoint(-1, BreakPoint); if (--KdbNumSingleSteps > 0) @@ -1626,7 +1619,7 @@ KdbEnterDebuggerException( return kdHandleException; } - /* Call the main loop. */ + /* Call the main loop */ KdbpInternalEnter(); /* Check if we should single step */ @@ -1698,9 +1691,9 @@ continue_execution: return ContinueType; } +INIT_FUNCTION VOID NTAPI -INIT_FUNCTION KdbpGetCommandLineSettings( PCHAR p1) {
5 years, 1 month
1
0
0
0
[reactos] 01/06: [SDK:RTL] Add one validity check + comment documentation for RtlDispatchException().
by Hermès Bélusca-Maïto
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a4b6e0d929b0696fa7c9a…
commit a4b6e0d929b0696fa7c9a258476ea1ff5778a125 Author: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> AuthorDate: Sat Nov 16 22:47:05 2019 +0100 Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> CommitDate: Sun Nov 17 23:21:47 2019 +0100 [SDK:RTL] Add one validity check + comment documentation for RtlDispatchException(). - RtlDispatchException(): Check for invalid stack in ExceptionContinueSearch handler and bail out if so. - Update few comments and fix a typo. - Add a documenting comment about SafeSEH functionality support. See e.g. the following articles:
https://www.optiv.com/blog/old-meets-new-microsoft-windows-safeseh-incompat…
https://msrc-blog.microsoft.com/2012/01/10/more-information-on-the-impact-o…
--- sdk/lib/rtl/i386/except.c | 39 ++++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/sdk/lib/rtl/i386/except.c b/sdk/lib/rtl/i386/except.c index 7054a0f02e0..530d5c75253 100644 --- a/sdk/lib/rtl/i386/except.c +++ b/sdk/lib/rtl/i386/except.c @@ -113,11 +113,18 @@ RtlDispatchException(IN PEXCEPTION_RECORD ExceptionRecord, continue; } - /* Set invalid stack and return false */ + /* Set invalid stack and bail out */ ExceptionRecord->ExceptionFlags |= EXCEPTION_STACK_INVALID; return FALSE; } + // + // TODO: Implement and call here RtlIsValidHandler(RegistrationFrame->Handler) + // for supporting SafeSEH functionality, see the following articles: + //
https://www.optiv.com/blog/old-meets-new-microsoft-windows-safeseh-incompat…
+ //
https://msrc-blog.microsoft.com/2012/01/10/more-information-on-the-impact-o…
+ // + /* Check if logging is enabled */ RtlpCheckLogException(ExceptionRecord, Context, @@ -144,7 +151,7 @@ RtlDispatchException(IN PEXCEPTION_RECORD ExceptionRecord, { /* Continue execution */ case ExceptionContinueExecution: - + { /* Check if it was non-continuable */ if (ExceptionRecord->ExceptionFlags & EXCEPTION_NONCONTINUABLE) { @@ -161,20 +168,25 @@ RtlDispatchException(IN PEXCEPTION_RECORD ExceptionRecord, else { /* In user mode, call any registered vectored continue handlers */ - RtlCallVectoredContinueHandlers(ExceptionRecord, - Context); + RtlCallVectoredContinueHandlers(ExceptionRecord, Context); /* Execution continues */ return TRUE; } + } /* Continue searching */ case ExceptionContinueSearch: + if (ExceptionRecord->ExceptionFlags & EXCEPTION_STACK_INVALID) + { + /* We have an invalid stack, bail out */ + return FALSE; + } break; /* Nested exception */ case ExceptionNestedException: - + { /* Turn the nested flag on */ ExceptionRecord->ExceptionFlags |= EXCEPTION_NESTED_CALL; @@ -185,10 +197,11 @@ RtlDispatchException(IN PEXCEPTION_RECORD ExceptionRecord, NestedFrame = DispatcherContext.RegistrationPointer; } break; + } /* Anything else */ default: - + { /* Set up the exception record */ ExceptionRecord2.ExceptionRecord = ExceptionRecord; ExceptionRecord2.ExceptionCode = STATUS_INVALID_DISPOSITION; @@ -198,13 +211,14 @@ RtlDispatchException(IN PEXCEPTION_RECORD ExceptionRecord, /* Raise the exception */ RtlRaiseException(&ExceptionRecord2); break; + } } /* Go to the next frame */ RegistrationFrame = RegistrationFrame->Next; } - /* Unhandled, return false */ + /* Unhandled, bail out */ return FALSE; } @@ -335,22 +349,24 @@ RtlUnwind(IN PVOID TargetFrame OPTIONAL, Context, &DispatcherContext, RegistrationFrame->Handler); + switch(Disposition) { /* Continue searching */ case ExceptionContinueSearch: break; - /* Collission */ - case ExceptionCollidedUnwind : - + /* Collision */ + case ExceptionCollidedUnwind: + { /* Get the original frame */ RegistrationFrame = DispatcherContext.RegistrationPointer; break; + } /* Anything else */ default: - + { /* Set up the exception record */ ExceptionRecord2.ExceptionRecord = ExceptionRecord; ExceptionRecord2.ExceptionCode = STATUS_INVALID_DISPOSITION; @@ -360,6 +376,7 @@ RtlUnwind(IN PVOID TargetFrame OPTIONAL, /* Raise the exception */ RtlRaiseException(&ExceptionRecord2); break; + } } /* Go to the next frame */
5 years, 1 month
1
0
0
0
[reactos] 01/01: [DNSAPI] Simplify the directory structure
by Eric Kohl
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=872fc17d0d133928303fe…
commit 872fc17d0d133928303fe12b29cfdc6bf1994657 Author: Eric Kohl <eric.kohl(a)reactos.org> AuthorDate: Sun Nov 17 16:31:30 2019 +0100 Commit: Eric Kohl <eric.kohl(a)reactos.org> CommitDate: Sun Nov 17 16:37:13 2019 +0100 [DNSAPI] Simplify the directory structure --- dll/win32/dnsapi/CMakeLists.txt | 20 ++++++++++---------- dll/win32/dnsapi/{dnsapi => }/adns.c | 0 dll/win32/dnsapi/{dnsapi => }/context.c | 0 dll/win32/dnsapi/{dnsapi => }/memory.c | 0 dll/win32/dnsapi/{dnsapi => }/names.c | 0 dll/win32/dnsapi/{dnsapi => }/precomp.h | 0 dll/win32/dnsapi/{dnsapi => }/query.c | 0 dll/win32/dnsapi/{dnsapi => }/record.c | 0 dll/win32/dnsapi/{dnsapi => }/rpc.c | 0 dll/win32/dnsapi/{dnsapi => }/stubs.c | 0 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/dll/win32/dnsapi/CMakeLists.txt b/dll/win32/dnsapi/CMakeLists.txt index 244e764e697..8aeb4af58a2 100644 --- a/dll/win32/dnsapi/CMakeLists.txt +++ b/dll/win32/dnsapi/CMakeLists.txt @@ -11,15 +11,15 @@ add_definitions(-DADNS_JGAA_WIN32 -D_CRT_NO_POSIX_ERROR_CODES) spec2def(dnsapi.dll dnsapi.spec ADD_IMPORTLIB) list(APPEND SOURCE - dnsapi/adns.c - dnsapi/context.c - dnsapi/memory.c - dnsapi/names.c - dnsapi/query.c - dnsapi/record.c - dnsapi/rpc.c - dnsapi/stubs.c - dnsapi/precomp.h + adns.c + context.c + memory.c + names.c + query.c + record.c + rpc.c + stubs.c + precomp.h ${CMAKE_CURRENT_BINARY_DIR}/dnsrslvr_c.c) add_library(dnsapi MODULE @@ -31,5 +31,5 @@ add_library(dnsapi MODULE set_module_type(dnsapi win32dll) target_link_libraries(dnsapi adns ${PSEH_LIB}) add_importlibs(dnsapi advapi32 rpcrt4 user32 ws2_32 iphlpapi msvcrt kernel32 ntdll) -add_pch(dnsapi dnsapi/precomp.h SOURCE) +add_pch(dnsapi precomp.h SOURCE) add_cd_file(TARGET dnsapi DESTINATION reactos/system32 FOR all) diff --git a/dll/win32/dnsapi/dnsapi/adns.c b/dll/win32/dnsapi/adns.c similarity index 100% rename from dll/win32/dnsapi/dnsapi/adns.c rename to dll/win32/dnsapi/adns.c diff --git a/dll/win32/dnsapi/dnsapi/context.c b/dll/win32/dnsapi/context.c similarity index 100% rename from dll/win32/dnsapi/dnsapi/context.c rename to dll/win32/dnsapi/context.c diff --git a/dll/win32/dnsapi/dnsapi/memory.c b/dll/win32/dnsapi/memory.c similarity index 100% rename from dll/win32/dnsapi/dnsapi/memory.c rename to dll/win32/dnsapi/memory.c diff --git a/dll/win32/dnsapi/dnsapi/names.c b/dll/win32/dnsapi/names.c similarity index 100% rename from dll/win32/dnsapi/dnsapi/names.c rename to dll/win32/dnsapi/names.c diff --git a/dll/win32/dnsapi/dnsapi/precomp.h b/dll/win32/dnsapi/precomp.h similarity index 100% rename from dll/win32/dnsapi/dnsapi/precomp.h rename to dll/win32/dnsapi/precomp.h diff --git a/dll/win32/dnsapi/dnsapi/query.c b/dll/win32/dnsapi/query.c similarity index 100% rename from dll/win32/dnsapi/dnsapi/query.c rename to dll/win32/dnsapi/query.c diff --git a/dll/win32/dnsapi/dnsapi/record.c b/dll/win32/dnsapi/record.c similarity index 100% rename from dll/win32/dnsapi/dnsapi/record.c rename to dll/win32/dnsapi/record.c diff --git a/dll/win32/dnsapi/dnsapi/rpc.c b/dll/win32/dnsapi/rpc.c similarity index 100% rename from dll/win32/dnsapi/dnsapi/rpc.c rename to dll/win32/dnsapi/rpc.c diff --git a/dll/win32/dnsapi/dnsapi/stubs.c b/dll/win32/dnsapi/stubs.c similarity index 100% rename from dll/win32/dnsapi/dnsapi/stubs.c rename to dll/win32/dnsapi/stubs.c
5 years, 1 month
1
0
0
0
[reactos] 01/01: [NTOS:IO] Fix result length for DevicePropertyRemovalPolicy request in IoGetDeviceProperty. Classpnp expects it to be sizeof(DEVICE_REMOVAL_POLICY) see ClasspInitializeHotplugInfo in classpnp.sys
by Victor Perevertkin
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=3d046e0ed2a8aa0a380fe…
commit 3d046e0ed2a8aa0a380fe6c008c6bc207d53ec9e Author: Victor Perevertkin <victor.perevertkin(a)reactos.org> AuthorDate: Sat Nov 16 23:52:03 2019 +0300 Commit: Victor Perevertkin <victor(a)perevertkin.ru> CommitDate: Sun Nov 17 18:36:28 2019 +0300 [NTOS:IO] Fix result length for DevicePropertyRemovalPolicy request in IoGetDeviceProperty. Classpnp expects it to be sizeof(DEVICE_REMOVAL_POLICY) see ClasspInitializeHotplugInfo in classpnp.sys CORE-6264 --- ntoskrnl/io/pnpmgr/pnpmgr.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ntoskrnl/io/pnpmgr/pnpmgr.c b/ntoskrnl/io/pnpmgr/pnpmgr.c index 56b3561fefe..b08f63eb289 100644 --- a/ntoskrnl/io/pnpmgr/pnpmgr.c +++ b/ntoskrnl/io/pnpmgr/pnpmgr.c @@ -4240,6 +4240,7 @@ IoGetDeviceProperty(IN PDEVICE_OBJECT DeviceObject, GUID BusTypeGuid; POBJECT_NAME_INFORMATION ObjectNameInfo = NULL; BOOLEAN NullTerminate = FALSE; + DEVICE_REMOVAL_POLICY Policy; DPRINT("IoGetDeviceProperty(0x%p %d)\n", DeviceObject, DeviceProperty); @@ -4357,7 +4358,9 @@ IoGetDeviceProperty(IN PDEVICE_OBJECT DeviceObject, break; case DevicePropertyRemovalPolicy: - PIP_RETURN_DATA(sizeof(UCHAR), &DeviceNode->RemovalPolicy); + + Policy = DeviceNode->RemovalPolicy; + PIP_RETURN_DATA(sizeof(Policy), &Policy); /* Handle the registry-based properties */ case DevicePropertyUINumber:
5 years, 1 month
1
0
0
0
[reactos] 01/01: [IPCONFIG] Display missing record types and record names
by Eric Kohl
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=50605143f66a142b80672…
commit 50605143f66a142b80672aba107d3672bcab1936 Author: Eric Kohl <eric.kohl(a)reactos.org> AuthorDate: Sun Nov 17 13:23:40 2019 +0100 Commit: Eric Kohl <eric.kohl(a)reactos.org> CommitDate: Sun Nov 17 13:24:25 2019 +0100 [IPCONFIG] Display missing record types and record names --- base/applications/network/ipconfig/ipconfig.c | 111 ++++++++++++++++++++++++-- 1 file changed, 106 insertions(+), 5 deletions(-) diff --git a/base/applications/network/ipconfig/ipconfig.c b/base/applications/network/ipconfig/ipconfig.c index c81c6e31ca8..e6cd2449902 100644 --- a/base/applications/network/ipconfig/ipconfig.c +++ b/base/applications/network/ipconfig/ipconfig.c @@ -29,11 +29,96 @@ #include "resource.h" +typedef struct _RECORDTYPE +{ + WORD wRecordType; + LPTSTR pszRecordName; +} RECORDTYPE, *PRECORDTYPE; + #define GUID_LEN 40 HINSTANCE hInstance; HANDLE ProcessHeap; +RECORDTYPE TypeArray[] = +{ + {DNS_TYPE_ZERO, _T("ZERO")}, + {DNS_TYPE_A, _T("A")}, + {DNS_TYPE_NS, _T("NS")}, + {DNS_TYPE_MD, _T("MD")}, + {DNS_TYPE_MF, _T("MF")}, + {DNS_TYPE_CNAME, _T("CNAME")}, + {DNS_TYPE_SOA, _T("SOA")}, + {DNS_TYPE_MB, _T("MB")}, + {DNS_TYPE_MG, _T("MG")}, + {DNS_TYPE_MR, _T("MR")}, + {DNS_TYPE_NULL, _T("NULL")}, + {DNS_TYPE_WKS, _T("WKS")}, + {DNS_TYPE_PTR, _T("PTR")}, + {DNS_TYPE_HINFO, _T("HINFO")}, + {DNS_TYPE_MINFO, _T("MINFO")}, + {DNS_TYPE_MX, _T("MX")}, + {DNS_TYPE_TEXT, _T("TXT")}, + {DNS_TYPE_RP, _T("RP")}, + {DNS_TYPE_AFSDB, _T("AFSDB")}, + {DNS_TYPE_X25, _T("X25")}, + {DNS_TYPE_ISDN, _T("ISDN")}, + {DNS_TYPE_RT, _T("RT")}, + {DNS_TYPE_NSAP, _T("NSAP")}, + {DNS_TYPE_NSAPPTR, _T("NSAPPTR")}, + {DNS_TYPE_SIG, _T("SIG")}, + {DNS_TYPE_KEY, _T("KEY")}, + {DNS_TYPE_PX, _T("PX")}, + {DNS_TYPE_GPOS, _T("GPOS")}, + {DNS_TYPE_AAAA, _T("AAAA")}, + {DNS_TYPE_LOC, _T("LOC")}, + {DNS_TYPE_NXT, _T("NXT")}, + {DNS_TYPE_EID, _T("EID")}, + {DNS_TYPE_NIMLOC, _T("NIMLOC")}, + {DNS_TYPE_SRV, _T("SRV")}, + {DNS_TYPE_ATMA, _T("ATMA")}, + {DNS_TYPE_NAPTR, _T("NAPTR")}, + {DNS_TYPE_KX, _T("KX")}, + {DNS_TYPE_CERT, _T("CERT")}, + {DNS_TYPE_A6, _T("A6")}, + {DNS_TYPE_DNAME, _T("DNAME")}, + {DNS_TYPE_SINK, _T("SINK")}, + {DNS_TYPE_OPT, _T("OPT")}, + {DNS_TYPE_UINFO, _T("UINFO")}, + {DNS_TYPE_UID, _T("UID")}, + {DNS_TYPE_GID, _T("GID")}, + {DNS_TYPE_UNSPEC, _T("UNSPEC")}, + {DNS_TYPE_ADDRS, _T("ADDRS")}, + {DNS_TYPE_TKEY, _T("TKEY")}, + {DNS_TYPE_TSIG, _T("TSIG")}, + {DNS_TYPE_IXFR, _T("IXFR")}, + {DNS_TYPE_AXFR, _T("AXFR")}, + {DNS_TYPE_MAILB, _T("MAILB")}, + {DNS_TYPE_MAILA, _T("MAILA")}, + {DNS_TYPE_ALL, _T("ALL")}, + {0, NULL} +}; + +LPTSTR +GetRecordTypeName(WORD wType) +{ + static TCHAR szType[8]; + INT i; + + for (i = 0; ; i++) + { + if (TypeArray[i].pszRecordName == NULL) + break; + + if (TypeArray[i].wRecordType == wType) + return TypeArray[i].pszRecordName; + } + + _stprintf(szType, _T("%hu"), wType); + + return szType; +} + int LoadStringAndOem(HINSTANCE hInst, UINT uID, LPTSTR szNode, @@ -773,7 +858,7 @@ DisplayDnsRecord( { _tprintf(_T("\t%S\n"), pszName); _tprintf(_T("\t----------------------------------------\n")); - _tprintf(_T("\tNo records of type %hu\n\n"), wType); + _tprintf(_T("\tNo records of type %s\n\n"), GetRecordTypeName(wType)); } return; } @@ -818,10 +903,6 @@ DisplayDnsRecord( _tprintf(_T("\tA (Host) Record . . . : %S\n"), szBuffer); break; - case DNS_TYPE_PTR: - _tprintf(_T("\tPTR Record. . . . . . : %S\n"), pThisRecord->Data.PTR.pNameHost); - break; - case DNS_TYPE_NS: _tprintf(_T("\tNS Record . . . . . . : %S\n"), pThisRecord->Data.NS.pNameHost); break; @@ -830,11 +911,31 @@ DisplayDnsRecord( _tprintf(_T("\tCNAME Record. . . . . : %S\n"), pThisRecord->Data.CNAME.pNameHost); break; + case DNS_TYPE_SOA: + _tprintf(_T("\tSOA Record. . . . . . : \n")); + break; + + case DNS_TYPE_PTR: + _tprintf(_T("\tPTR Record. . . . . . : %S\n"), pThisRecord->Data.PTR.pNameHost); + break; + + case DNS_TYPE_MX: + _tprintf(_T("\tMX Record . . . . . . : \n")); + break; + case DNS_TYPE_AAAA: RtlCopyMemory(&Addr6, &pThisRecord->Data.AAAA.Ip6Address, sizeof(IN6_ADDR)); RtlIpv6AddressToStringW(&Addr6, szBuffer); _tprintf(_T("\tAAAA Record . . . . . : %S\n"), szBuffer); break; + + case DNS_TYPE_ATMA: + _tprintf(_T("\tATMA Record . . . . . : \n")); + break; + + case DNS_TYPE_SRV: + _tprintf(_T("\tSRV Record. . . . . . : \n")); + break; } _tprintf(_T("\n\n"));
5 years, 1 month
1
0
0
0
[reactos] 01/01: [RAPPS] Improve Japanese translation
by Katayama Hirofumi MZ
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=fa9145d30503548418318…
commit fa9145d30503548418318e965efe7398050ae185 Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com> AuthorDate: Sun Nov 17 19:46:56 2019 +0900 Commit: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com> CommitDate: Sun Nov 17 19:46:56 2019 +0900 [RAPPS] Improve Japanese translation --- base/applications/rapps/lang/ja-JP.rc | 78 +++++++++++++++++------------------ 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/base/applications/rapps/lang/ja-JP.rc b/base/applications/rapps/lang/ja-JP.rc index 6e780ca649e..5618427dfdb 100644 --- a/base/applications/rapps/lang/ja-JP.rc +++ b/base/applications/rapps/lang/ja-JP.rc @@ -66,12 +66,12 @@ BEGIN EDITTEXT IDC_DOWNLOAD_DIR_EDIT, 15, 86, 166, 12, WS_CHILD | WS_VISIBLE | WS_GROUP | ES_AUTOHSCROLL PUSHBUTTON "選択(&C)", IDC_CHOOSE, 187, 85, 50, 14 AUTOCHECKBOX "インストール後にプログラムのインストーラを削除する(&D)", IDC_DEL_AFTER_INSTALL, 16, 100, 218, 12 - GROUPBOX "Proxy", -1, 4, 116, 240, 76 - CONTROL "System proxy settings", IDC_PROXY_DEFAULT, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 15, 130, 210, 10 - CONTROL "Direct (No proxy)", IDC_NO_PROXY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 145, 210, 10 - CONTROL "Proxy", IDC_USE_PROXY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 160, 74, 10 + GROUPBOX "プロキシ", -1, 4, 116, 240, 76 + CONTROL "システム プロキシ設定", IDC_PROXY_DEFAULT, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 15, 130, 210, 10 + CONTROL "直接 (プロキシなし)", IDC_NO_PROXY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 145, 210, 10 + CONTROL "プロキシ", IDC_USE_PROXY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 160, 74, 10 EDITTEXT IDC_PROXY_SERVER, 90, 160, 147, 12, ES_AUTOHSCROLL | WS_DISABLED - LTEXT "No proxy for", -1, 27, 175, 64, 10 + LTEXT "次のはプロキシなし", -1, 27, 175, 64, 10 EDITTEXT IDC_NO_PROXY_FOR, 90, 175, 147, 12, ES_AUTOHSCROLL | WS_DISABLED PUSHBUTTON "デフォルト", IDC_DEFAULT_SETTINGS, 8, 195, 60, 14 DEFPUSHBUTTON "OK", IDOK, 116, 195, 60, 14 @@ -83,7 +83,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYS CAPTION "プログラムのインストール" FONT 9, "MS UI Gothic" BEGIN - LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35 + LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35 AUTORADIOBUTTON "ディスクからインストール (CD や DVD)(&I)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP AUTORADIOBUTTON "ダウンロードしてインストール(&D)", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 86, 78, 60, 14 @@ -92,7 +92,7 @@ END IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 72 STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE -CAPTION "ダウンロード %ls…" +CAPTION "ダウンロード %ls..." FONT 9, "MS UI Gothic" BEGIN CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12 @@ -152,7 +152,7 @@ END STRINGTABLE BEGIN IDS_AINFO_VERSION "\nバージョン: " - IDS_AINFO_AVAILABLEVERSION "\nAvailable Version: " + IDS_AINFO_AVAILABLEVERSION "\n利用可能なバージョン: " IDS_AINFO_DESCRIPTION "\n概要: " IDS_AINFO_SIZE "\nサイズ: " IDS_AINFO_URLSITE "\nホームページ: " @@ -178,13 +178,13 @@ BEGIN IDS_CAT_SCIENCE "科学" IDS_CAT_TOOLS "ツール" IDS_CAT_VIDEO "ビデオ" - IDS_CAT_THEMES "Themes" + IDS_CAT_THEMES "テーマ" END STRINGTABLE BEGIN IDS_APPTITLE "ReactOS アプリケーション マネージャ" - IDS_SEARCH_TEXT "検索…" + IDS_SEARCH_TEXT "検索..." IDS_INSTALL "インストール" IDS_UNINSTALL "アンインストール" IDS_MODIFY "変更" @@ -200,52 +200,52 @@ BEGIN IDS_CHOOSE_FOLDER_ERROR "指定されたフォルダは存在しません!" IDS_APP_REG_REMOVE "レジストリからインストールされたプログラムに関するデータを削除してもよろしいですか?" IDS_INFORMATION "情報" - IDS_UNABLE_TO_DOWNLOAD "Unable to download the package! Address not found!" - IDS_UNABLE_TO_DOWNLOAD2 "Unable to download the package! Check Internet Connection!" + IDS_UNABLE_TO_DOWNLOAD "パッケージをダウンロードできません! アドレスが見つからない!" + IDS_UNABLE_TO_DOWNLOAD2 "パッケージをダウンロードできません! インターネット接続を確認して!" IDS_UNABLE_TO_REMOVE "レジストリからこのプログラムに関するデータを削除できません!" - IDS_UNABLE_TO_INSTALL "Unable to open installer!" - IDS_UNABLE_TO_QUERY_CERT "Unable to retrieve certificate info.\n\nDo you want to continue anyway?" - IDS_INTEG_CHECK_TITLE "Verifying package integrity…" - IDS_INTEG_CHECK_FAIL "The package did not pass the integrity check, it may have been corrupted or tampered with during downloading. Running the software is not recommended." - IDS_INTERRUPTED_DOWNLOAD "The download was interrupted. Check connection to Internet." - IDS_UNABLE_TO_WRITE "Unable to write to disk. Disk may be at capacity." - IDS_SELECT_ALL "Select/Deselect All" - IDS_INSTALL_SELECTED "Install Selected" - IDS_SELECTEDFORINST "Selected for installation" - IDS_MISMATCH_CERT_INFO "The certificate used is unknown:\nSubject: %s\nIssuer: %s\nDo you want to continue anyway?" + IDS_UNABLE_TO_INSTALL "インストーラを開けません!" + IDS_UNABLE_TO_QUERY_CERT "証明書情報を取得できません。\n\nそれでも続けますか?" + IDS_INTEG_CHECK_TITLE "パッケージの構成を確認しています..." + IDS_INTEG_CHECK_FAIL "このパッケージは構成チェックに失格しました。おそらく壊れているか、インストール中に破損したと考えられます。このソフトを実行するのはお勧めできません。" + IDS_INTERRUPTED_DOWNLOAD "ダウンロードは中断しました。インターネット接続を確認して下さい。" + IDS_UNABLE_TO_WRITE "ディスクへの書き込みができません。容量を確認して下さい。" + IDS_SELECT_ALL "すべて選択/非選択" + IDS_INSTALL_SELECTED "選択をインストール" + IDS_SELECTEDFORINST "インストールを選択済み" + IDS_MISMATCH_CERT_INFO "証明書は未知のものです:\nSubject: %s\nIssuer: %s\nそれでも続けますか?" END STRINGTABLE BEGIN - IDS_STATUS_INSTALLED "Installed" - IDS_STATUS_NOTINSTALLED "Not installed" - IDS_STATUS_DOWNLOADED "Downloaded" - IDS_STATUS_UPDATE_AVAILABLE "Update available" - IDS_STATUS_DOWNLOADING "Downloading…" - IDS_STATUS_INSTALLING "Installing…" - IDS_STATUS_WAITING "Waiting to install…" - IDS_STATUS_FINISHED "Finished" + IDS_STATUS_INSTALLED "インストール済み" + IDS_STATUS_NOTINSTALLED "未インストール" + IDS_STATUS_DOWNLOADED "ダウンロード完了" + IDS_STATUS_UPDATE_AVAILABLE "更新があります" + IDS_STATUS_DOWNLOADING "ダウンロード中..." + IDS_STATUS_INSTALLING "インストール中..." + IDS_STATUS_WAITING "インストール待ち..." + IDS_STATUS_FINISHED "完了" END STRINGTABLE BEGIN - IDS_LICENSE_OPENSOURCE "Open Source" - IDS_LICENSE_FREEWARE "Freeware" - IDS_LICENSE_TRIAL "Trial/Demo" + IDS_LICENSE_OPENSOURCE "オープンソース" + IDS_LICENSE_FREEWARE "フリーソフト" + IDS_LICENSE_TRIAL "試用/デモ" END STRINGTABLE BEGIN - IDS_LANGUAGE_AVAILABLE_TRANSLATION "Supports your language" - IDS_LANGUAGE_NO_TRANSLATION "Supports other languages" - IDS_LANGUAGE_ENGLISH_TRANSLATION "Supports English" - IDS_LANGUAGE_SINGLE "Single language" + IDS_LANGUAGE_AVAILABLE_TRANSLATION "あなたの言語をサポート" + IDS_LANGUAGE_NO_TRANSLATION "他の言語をサポート" + IDS_LANGUAGE_ENGLISH_TRANSLATION "英語をサポート" + IDS_LANGUAGE_SINGLE "単一言語" IDS_LANGUAGE_MORE_PLACEHOLDER " (+%d more)" IDS_LANGUAGE_AVAILABLE_PLACEHOLDER " (+%d available)" END STRINGTABLE BEGIN - IDS_DL_DIALOG_DB_DISP "Applications Database" - IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database…" + IDS_DL_DIALOG_DB_DISP "アプリのデータベース" + IDS_DL_DIALOG_DB_DOWNLOAD_DISP "データベースを更新中..." END
5 years, 1 month
1
0
0
0
[reactos] 01/01: [NOTEPAD] Improve Japanese translation
by Katayama Hirofumi MZ
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=120457665cfb159b14216…
commit 120457665cfb159b142161aae59dd4c20cf09398 Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com> AuthorDate: Sun Nov 17 19:34:36 2019 +0900 Commit: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com> CommitDate: Sun Nov 17 19:34:44 2019 +0900 [NOTEPAD] Improve Japanese translation --- base/applications/notepad/lang/ja-JP.rc | 38 ++++++++++++++++----------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/base/applications/notepad/lang/ja-JP.rc b/base/applications/notepad/lang/ja-JP.rc index d703d400771..9f5dedadd3b 100644 --- a/base/applications/notepad/lang/ja-JP.rc +++ b/base/applications/notepad/lang/ja-JP.rc @@ -70,37 +70,37 @@ END DIALOG_PAGESETUP DIALOGEX 0, 0, 365, 193 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_CONTEXTHELP FONT 9, "MS UI Gothic" -CAPTION "Page Setup" +CAPTION "ページ設定" BEGIN - GROUPBOX "Preview", 0, 240, 6, 120, 153, BS_GROUPBOX + GROUPBOX "プレビュー", 0, 240, 6, 120, 153, BS_GROUPBOX CONTROL "", rct1, "Static", SS_WHITERECT, 260, 42, 80, 80 CONTROL "", rct2, "Static", SS_GRAYRECT, 340, 46, 4, 80 CONTROL "", rct3, "Static", SS_GRAYRECT, 264, 122, 80, 4 - GROUPBOX "Paper", grp2, 8, 6, 224, 56, BS_GROUPBOX - LTEXT "&Size:", stc2, 16, 22, 36, 8 + GROUPBOX "用紙", grp2, 8, 6, 224, 56, BS_GROUPBOX + LTEXT "サイズ(&S):", stc2, 16, 22, 36, 8 COMBOBOX cmb2, 64, 20, 160, 160, CBS_SIMPLE | CBS_DROPDOWN | CBS_SORT | WS_GROUP | WS_TABSTOP | WS_VSCROLL - LTEXT "&Tray:", stc3, 16, 42, 36, 8 + LTEXT "トレイ(&T):", stc3, 16, 42, 36, 8 COMBOBOX cmb3, 64, 40, 160, 160, CBS_SIMPLE | CBS_DROPDOWN | CBS_SORT | WS_GROUP | WS_TABSTOP | WS_VSCROLL - GROUPBOX "Orientation", grp1, 8, 66, 64, 56, BS_GROUPBOX - AUTORADIOBUTTON "&Portrait", rad1, 16, 80, 52, 12, BS_AUTORADIOBUTTON - AUTORADIOBUTTON "&Landscape", rad2, 16, 100, 52, 12, BS_AUTORADIOBUTTON + GROUPBOX "方向", grp1, 8, 66, 64, 56, BS_GROUPBOX + AUTORADIOBUTTON "縦向き(&P)", rad1, 16, 80, 52, 12, BS_AUTORADIOBUTTON + AUTORADIOBUTTON "横向き(&L)", rad2, 16, 100, 52, 12, BS_AUTORADIOBUTTON GROUPBOX "Borders", grp4, 80, 66, 152, 56, BS_GROUPBOX - LTEXT "L&eft:", stc15, 88, 82, 30, 8 + LTEXT "左(&E):", stc15, 88, 82, 30, 8 EDITTEXT edt4, 119, 80, 36, 12, WS_TABSTOP | WS_GROUP | WS_BORDER - LTEXT "&Right:", stc16, 159, 82, 30, 8 + LTEXT "右(&R):", stc16, 159, 82, 30, 8 EDITTEXT edt6, 190, 80, 36, 12, WS_TABSTOP | WS_GROUP | WS_BORDER - LTEXT "T&op:", stc17, 88, 102, 30, 8 + LTEXT "上(&O):", stc17, 88, 102, 30, 8 EDITTEXT edt5, 119, 100, 36, 12, WS_TABSTOP | WS_GROUP | WS_BORDER - LTEXT "&Bottom:", stc18, 159, 102, 30, 8 + LTEXT "下(&B):", stc18, 159, 102, 30, 8 EDITTEXT edt7, 190, 100, 36, 12, WS_TABSTOP | WS_GROUP | WS_BORDER - LTEXT "&Header:", 0x140, 8, 132, 40, 15 + LTEXT "ヘッダー(&H):", 0x140, 8, 132, 40, 15 EDITTEXT 0x141, 58, 130, 173, 12, WS_BORDER | WS_TABSTOP | ES_AUTOHSCROLL - LTEXT "&Footer:", 0x142, 8, 149, 40, 15 + LTEXT "フッター(&F):", 0x142, 8, 149, 40, 15 EDITTEXT 0x143, 58, 147, 173, 12, WS_BORDER | WS_TABSTOP | ES_AUTOHSCROLL - PUSHBUTTON "Help", IDHELP, 8, 170, 50, 14 + PUSHBUTTON "ヘルプ(H)", IDHELP, 8, 170, 50, 14 DEFPUSHBUTTON "OK", IDOK, 198, 170, 50, 14, BS_PUSHBUTTON - PUSHBUTTON "Cancel", IDCANCEL, 254, 170, 50, 14 - PUSHBUTTON "P&rinter...", psh3, 310, 170, 50, 14 + PUSHBUTTON "キャンセル", IDCANCEL, 254, 170, 50, 14 + PUSHBUTTON "プリンタ(&R)...", psh3, 310, 170, 50, 14 END /* Dialog 'Encoding' */ @@ -163,8 +163,8 @@ BEGIN STRING_LF "Unix (LF)" STRING_CR "Mac (CR)" STRING_LINE_COLUMN "%d 行、%d 列" - STRING_PRINTERROR "Cannot print the file '%s'.\n\nMake sure that the printer is turned on and is configured properly." + STRING_PRINTERROR "ファイル '%s'を印刷できません。\n\nプリンタがオンになっていて、正しく設定されているか確認して下さい。" - STRING_TEXT_DOCUMENT "Text Document" + STRING_TEXT_DOCUMENT "テキスト文書" STRING_NOTEPAD_AUTHORS "Copyright 1997,98 Marcel Baur, 2000 Mike McCormack, 2002 Sylvain Petreolle, 2002 Andriy Palamarchuk\r\n" END
5 years, 1 month
1
0
0
0
[reactos] 01/01: [BROWSEUI][SHELL32] Fix scroll to selection CORE-16504
by Joachim Henze
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=dc047f96303a05e94cdf5…
commit dc047f96303a05e94cdf51b7291528046fd249d2 Author: Joachim Henze <Joachim.Henze(a)reactos.org> AuthorDate: Sun Nov 17 02:04:27 2019 +0100 Commit: Joachim Henze <Joachim.Henze(a)reactos.org> CommitDate: Sun Nov 17 02:04:27 2019 +0100 [BROWSEUI][SHELL32] Fix scroll to selection CORE-16504 A patch by Katayama Hirofumi MZ The bug was unhidden by 0.4.14-dev-312-g b931f643e35e6a23dbef99e785804039ea579b6a --- dll/win32/browseui/desktopipc.cpp | 2 +- dll/win32/shell32/CDefView.cpp | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/dll/win32/browseui/desktopipc.cpp b/dll/win32/browseui/desktopipc.cpp index 7c794b6133f..02d60cb488d 100644 --- a/dll/win32/browseui/desktopipc.cpp +++ b/dll/win32/browseui/desktopipc.cpp @@ -380,7 +380,7 @@ static HRESULT ExplorerMessageLoop(IEThreadParamBlock * parameters) hResult = psb->QueryActiveShellView(&shellView); if (SUCCEEDED(hResult)) { - shellView->SelectItem(pidlSelect, SVSI_SELECT|SVSI_ENSUREVISIBLE); + shellView->SelectItem(pidlSelect, SVSI_SELECT | SVSI_FOCUSED | SVSI_ENSUREVISIBLE); } ILFree(pidlSelect); } diff --git a/dll/win32/shell32/CDefView.cpp b/dll/win32/shell32/CDefView.cpp index 66a77b608db..9fd104025a5 100644 --- a/dll/win32/shell32/CDefView.cpp +++ b/dll/win32/shell32/CDefView.cpp @@ -2379,9 +2379,6 @@ HRESULT WINAPI CDefView::SelectItem(PCUITEMID_CHILD pidl, UINT uFlags) if (i == -1) return S_OK; - if(uFlags & SVSI_ENSUREVISIBLE) - m_ListView.EnsureVisible(i, FALSE); - LVITEMW lvItem = {0}; lvItem.mask = LVIF_STATE; lvItem.stateMask = LVIS_SELECTED | LVIS_FOCUSED; @@ -2396,18 +2393,26 @@ HRESULT WINAPI CDefView::SelectItem(PCUITEMID_CHILD pidl, UINT uFlags) lvItem.state &= ~LVIS_SELECTED; if (uFlags & SVSI_FOCUSED) + lvItem.state |= LVIS_FOCUSED; + else lvItem.state &= ~LVIS_FOCUSED; } else { if (uFlags & SVSI_DESELECTOTHERS) + { lvItem.state &= ~LVIS_SELECTED; + } + lvItem.state &= ~LVIS_FOCUSED; } m_ListView.SetItem(&lvItem); lvItem.iItem++; } + if (uFlags & SVSI_ENSUREVISIBLE) + m_ListView.EnsureVisible(i, FALSE); + if((uFlags & SVSI_EDIT) == SVSI_EDIT) m_ListView.EditLabel(i);
5 years, 1 month
1
0
0
0
[reactos] 01/01: [IPCONFIG] Display non-zero type records only and improve error messages
by Eric Kohl
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e196149b7123fb734b01a…
commit e196149b7123fb734b01abf596515c79cdfca2f0 Author: Eric Kohl <eric.kohl(a)reactos.org> AuthorDate: Sat Nov 16 20:27:04 2019 +0100 Commit: Eric Kohl <eric.kohl(a)reactos.org> CommitDate: Sat Nov 16 20:29:44 2019 +0100 [IPCONFIG] Display non-zero type records only and improve error messages --- base/applications/network/ipconfig/ipconfig.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/base/applications/network/ipconfig/ipconfig.c b/base/applications/network/ipconfig/ipconfig.c index 1b15e3f5369..c81c6e31ca8 100644 --- a/base/applications/network/ipconfig/ipconfig.c +++ b/base/applications/network/ipconfig/ipconfig.c @@ -763,14 +763,18 @@ DisplayDnsRecord( NULL); if (Status != ERROR_SUCCESS) { -#if 0 - if (wType != 0) + if (Status == DNS_ERROR_RCODE_NAME_ERROR) + { + _tprintf(_T("\t%S\n"), pszName); + _tprintf(_T("\t----------------------------------------\n")); + _tprintf(_T("\tName does not exist\n\n")); + } + else if (Status == DNS_INFO_NO_RECORDS) { _tprintf(_T("\t%S\n"), pszName); _tprintf(_T("\t----------------------------------------\n")); _tprintf(_T("\tNo records of type %hu\n\n"), wType); } -#endif return; } @@ -862,7 +866,9 @@ DisplayDns(VOID) { pNextEntry = pThisEntry->pNext; - DisplayDnsRecord(pThisEntry->pszName, pThisEntry->wType1); + if (pThisEntry->wType1 != 0) + DisplayDnsRecord(pThisEntry->pszName, pThisEntry->wType1); + if (pThisEntry->wType2 != 0) DisplayDnsRecord(pThisEntry->pszName, pThisEntry->wType2);
5 years, 1 month
1
0
0
0
← Newer
1
...
14
15
16
17
18
19
20
...
33
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Results per page:
10
25
50
100
200