Signed-off-by: Myah Caron qsniyg@protonmail.com --- dlls/ntoskrnl.exe/ntoskrnl.c | 9 +++++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +- dlls/ntoskrnl.exe/tests/driver.c | 9 +++++++++ include/ddk/wdm.h | 1 + 4 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index e94feabc826..177816a2239 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -2399,6 +2399,15 @@ HANDLE WINAPI PsGetThreadProcessId( PETHREAD thread ) return thread->kthread.id.UniqueProcess; }
+/********************************************************************* + * PsGetProcessDebugPort (NTOSKRNL.@) + */ +PVOID WINAPI PsGetProcessDebugPort(PEPROCESS process) +{ + FIXME( "stub: %p\n", process ); + return NULL; +} + /*********************************************************************** * KeInsertQueue (NTOSKRNL.EXE.@) */ diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index 8892fde5054..8ca0f652f1d 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -896,7 +896,7 @@ @ stub PsGetJobSessionId @ stub PsGetJobUIRestrictionsClass @ stub PsGetProcessCreateTimeQuadPart -@ stub PsGetProcessDebugPort +@ stdcall PsGetProcessDebugPort(ptr) @ stub PsGetProcessExitProcessCalled @ stub PsGetProcessExitStatus @ stub PsGetProcessExitTime diff --git a/dlls/ntoskrnl.exe/tests/driver.c b/dlls/ntoskrnl.exe/tests/driver.c index dfc742eec3b..e712ecf2f84 100644 --- a/dlls/ntoskrnl.exe/tests/driver.c +++ b/dlls/ntoskrnl.exe/tests/driver.c @@ -2103,6 +2103,14 @@ static void test_permanence(void) ok(status == STATUS_OBJECT_NAME_NOT_FOUND, "got %#x\n", status); }
+static void test_debug(void) +{ + PVOID debug_port; + + debug_port = PsGetProcessDebugPort( PsGetCurrentProcess() ); + ok(!debug_port, "got %p\n", debug_port); +} + static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *stack) { ULONG length = stack->Parameters.DeviceIoControl.OutputBufferLength; @@ -2160,6 +2168,7 @@ static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *st test_dpc(); test_process_memory(test_input); test_permanence(); + test_debug();
if (main_test_work_item) return STATUS_UNEXPECTED_IO_ERROR;
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h index 6885de1cf89..40f1d9754c0 100644 --- a/include/ddk/wdm.h +++ b/include/ddk/wdm.h @@ -1834,6 +1834,7 @@ HANDLE WINAPI PsGetCurrentProcessId(void); HANDLE WINAPI PsGetCurrentThreadId(void); HANDLE WINAPI PsGetProcessInheritedFromUniqueProcessId(PEPROCESS); BOOLEAN WINAPI PsGetVersion(ULONG*,ULONG*,ULONG*,UNICODE_STRING*); +PVOID WINAPI PsGetProcessDebugPort(PEPROCESS process); NTSTATUS WINAPI PsTerminateSystemThread(NTSTATUS);
#if defined(__x86_64__) || defined(__i386__) -- 2.28.0