https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d4546753f62f0d801efd6…
commit d4546753f62f0d801efd6b7277a71448a2e74bb2
Author: Hervé Poussineau <hpoussin(a)reactos.org>
AuthorDate: Sun Sep 22 21:42:43 2024 +0200
Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
CommitDate: Tue Jan 28 22:00:53 2025 +0100
[NTOS:EX] Implement NtSystemDebugControl:
SysDbgGetKdUmExceptionEnable/SysDbgSetKdUmExceptionEnable
---
ntoskrnl/ex/dbgctrl.c | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/ntoskrnl/ex/dbgctrl.c b/ntoskrnl/ex/dbgctrl.c
index 0091af90f23..a624b576463 100644
--- a/ntoskrnl/ex/dbgctrl.c
+++ b/ntoskrnl/ex/dbgctrl.c
@@ -332,8 +332,40 @@ NtSystemDebugControl(
break;
case SysDbgSetPrintBufferSize:
+ UNIMPLEMENTED;
+ Status = STATUS_NOT_IMPLEMENTED;
+ break;
+
case SysDbgGetKdUmExceptionEnable:
+ if (OutputBufferLength != sizeof(BOOLEAN))
+ {
+ Status = STATUS_INFO_LENGTH_MISMATCH;
+ }
+ else
+ {
+ /* Unfortunately, the internal flag says if UM exceptions are
disabled */
+ *(PBOOLEAN)OutputBuffer = !KdIgnoreUmExceptions;
+ Status = STATUS_SUCCESS;
+ }
+ break;
+
case SysDbgSetKdUmExceptionEnable:
+ if (InputBufferLength != sizeof(BOOLEAN))
+ {
+ Status = STATUS_INFO_LENGTH_MISMATCH;
+ }
+ else if (KdPitchDebugger)
+ {
+ Status = STATUS_ACCESS_DENIED;
+ }
+ else
+ {
+ /* Unfortunately, the internal flag says if UM exceptions are
disabled */
+ KdIgnoreUmExceptions = !*(PBOOLEAN)InputBuffer;
+ Status = STATUS_SUCCESS;
+ }
+ break;
+
case SysDbgGetTriageDump:
case SysDbgGetKdBlockEnable:
case SysDbgSetKdBlockEnable: