https://git.reactos.org/?p=reactos.git;a=commitdiff;h=6b89a0da1183ecdf70dd163876fab5e6d98fad44
commit 6b89a0da1183ecdf70dd163876fab5e6d98fad44
Author:     Hervé Poussineau <hpous...@reactos.org>
AuthorDate: Sun Sep 22 21:43:00 2024 +0200
Commit:     Hermès Bélusca-Maïto <hermes.belusca-ma...@reactos.org>
CommitDate: Tue Jan 28 22:00:53 2025 +0100

    [NTOS:EX] Implement NtSystemDebugControl: 
SysDbgGetKdBlockEnable/SysDbgSetKdBlockEnable
---
 ntoskrnl/ex/dbgctrl.c | 23 +++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

diff --git a/ntoskrnl/ex/dbgctrl.c b/ntoskrnl/ex/dbgctrl.c
index a624b576463..a62345ee692 100644
--- a/ntoskrnl/ex/dbgctrl.c
+++ b/ntoskrnl/ex/dbgctrl.c
@@ -367,12 +367,31 @@ NtSystemDebugControl(
                 break;
 
             case SysDbgGetTriageDump:
-            case SysDbgGetKdBlockEnable:
-            case SysDbgSetKdBlockEnable:
                 UNIMPLEMENTED;
                 Status = STATUS_NOT_IMPLEMENTED;
                 break;
 
+            case SysDbgGetKdBlockEnable:
+                if (OutputBufferLength != sizeof(BOOLEAN))
+                {
+                    Status = STATUS_INFO_LENGTH_MISMATCH;
+                }
+                else
+                {
+                    *(PBOOLEAN)OutputBuffer = KdBlockEnable;
+                    Status = STATUS_SUCCESS;
+                }
+                break;
+
+            case SysDbgSetKdBlockEnable:
+                Status = KdChangeOption(KD_OPTION_SET_BLOCK_ENABLE,
+                                        InputBufferLength,
+                                        InputBuffer,
+                                        OutputBufferLength,
+                                        OutputBuffer,
+                                        &Length);
+                break;
+
             default:
                 Status = STATUS_INVALID_INFO_CLASS;
                 break;

Reply via email to