From e7888466bbd05c30f01b70717533db7839f4140f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Wed, 14 Jan 2015 20:48:06 +0000 Subject: [PATCH] [NTOS:EX] Implement NtSystemDebugControl svn path=/trunk/; revision=66037 --- reactos/ntoskrnl/ex/dbgctrl.c | 45 +++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/reactos/ntoskrnl/ex/dbgctrl.c b/reactos/ntoskrnl/ex/dbgctrl.c index 34badf7a868..86032074c24 100644 --- a/reactos/ntoskrnl/ex/dbgctrl.c +++ b/reactos/ntoskrnl/ex/dbgctrl.c @@ -60,6 +60,47 @@ NtSystemDebugControl(SYSDBG_COMMAND ControlCode, ULONG OutputBufferLength, PULONG ReturnLength) { - /* FIXME: TODO */ - return STATUS_SUCCESS; + switch (ControlCode) + { + case SysDbgQueryModuleInformation: + case SysDbgQueryTraceInformation: + case SysDbgSetTracepoint: + case SysDbgSetSpecialCall: + case SysDbgClearSpecialCalls: + case SysDbgQuerySpecialCalls: + case SysDbgQueryVersion: + case SysDbgReadVirtual: + case SysDbgWriteVirtual: + case SysDbgReadPhysical: + case SysDbgWritePhysical: + case SysDbgReadControlSpace: + case SysDbgWriteControlSpace: + case SysDbgReadIoSpace: + case SysDbgWriteIoSpace: + case SysDbgReadMsr: + case SysDbgWriteMsr: + case SysDbgReadBusData: + case SysDbgWriteBusData: + case SysDbgCheckLowMemory: + case SysDbgGetTriageDump: + return STATUS_NOT_IMPLEMENTED; + case SysDbgBreakPoint: + case SysDbgEnableKernelDebugger: + case SysDbgDisableKernelDebugger: + case SysDbgGetAutoKdEnable: + case SysDbgSetAutoKdEnable: + case SysDbgGetPrintBufferSize: + case SysDbgSetPrintBufferSize: + case SysDbgGetKdUmExceptionEnable: + case SysDbgSetKdUmExceptionEnable: + case SysDbgGetKdBlockEnable: + case SysDbgSetKdBlockEnable: + return KdSystemDebugControl( + ControlCode, + InputBuffer, InputBufferLength, + OutputBuffer, OutputBufferLength, + ReturnLength, KeGetPreviousMode()); + default: + return STATUS_INVALID_INFO_CLASS; + } }