Derek Lesho : ntoskrnl.exe: Implement process object constructor.
Alexandre Julliard
julliard at winehq.org
Fri Apr 19 17:30:46 CDT 2019
Module: wine
Branch: master
Commit: e5bbb5e6ca152782e4c43dcb8368fbae87db2322
URL: https://source.winehq.org/git/wine.git/?a=commit;h=e5bbb5e6ca152782e4c43dcb8368fbae87db2322
Author: Derek Lesho <dereklesho52 at gmail.com>
Date: Fri Apr 19 18:24:39 2019 +0200
ntoskrnl.exe: Implement process object constructor.
Signed-off-by: Derek Lesho <dereklesho52 at Gmail.com>
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ntoskrnl.exe/ntoskrnl.c | 14 +++++++++++++-
dlls/ntoskrnl.exe/ntoskrnl_private.h | 4 ++++
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 2c0b51d..d31082b 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -2451,11 +2451,23 @@ NTSTATUS WINAPI FsRtlRegisterUncProvider(PHANDLE MupHandle, PUNICODE_STRING Redi
}
+static void *create_process_object( HANDLE handle )
+{
+ PEPROCESS process;
+
+ if (!(process = alloc_kernel_object( PsProcessType, handle, sizeof(*process), 0 ))) return NULL;
+
+ process->header.Type = 3;
+ process->header.WaitListHead.Blink = INVALID_HANDLE_VALUE; /* mark as kernel object */
+ return process;
+}
+
static const WCHAR process_type_name[] = {'P','r','o','c','e','s','s',0};
static struct _OBJECT_TYPE process_type =
{
- process_type_name
+ process_type_name,
+ create_process_object
};
POBJECT_TYPE PsProcessType = &process_type;
diff --git a/dlls/ntoskrnl.exe/ntoskrnl_private.h b/dlls/ntoskrnl.exe/ntoskrnl_private.h
index f5a7628..5f30961 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl_private.h
+++ b/dlls/ntoskrnl.exe/ntoskrnl_private.h
@@ -28,6 +28,10 @@ struct _OBJECT_TYPE
void (*release)(void*); /* called when the last reference is released */
};
+struct _EPROCESS {
+ DISPATCHER_HEADER header;
+};
+
struct _KTHREAD
{
DISPATCHER_HEADER header;
More information about the wine-cvs
mailing list