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;