From 6b89a0da1183ecdf70dd163876fab5e6d98fad44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Sun, 22 Sep 2024 21:43:00 +0200 Subject: [PATCH] [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;