Austin English : ntdll: Add RtlCreateUserProcess stub.

Alexandre Julliard julliard at wine.codeweavers.com
Sat Jan 9 03:32:18 CST 2016


Module: wine
Branch: master
Commit: 23d3b123db9599d216e1b5f2b2b33e91af2043a6
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=23d3b123db9599d216e1b5f2b2b33e91af2043a6

Author: Austin English <austinenglish at gmail.com>
Date:   Tue Dec 15 01:51:05 2015 -0600

ntdll: Add RtlCreateUserProcess stub.

Signed-off-by: Austin English <austinenglish at gmail.com>
Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ntdll/ntdll.spec |  2 +-
 dlls/ntdll/rtl.c      | 13 +++++++++++++
 include/winternl.h    | 10 ++++++++++
 3 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index a96edb1..4e49709 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -506,7 +506,7 @@
 @ stdcall RtlCreateTimerQueue(ptr)
 @ stdcall RtlCreateUnicodeString(ptr wstr)
 @ stdcall RtlCreateUnicodeStringFromAsciiz(ptr str)
-@ stub RtlCreateUserProcess
+@ stdcall RtlCreateUserProcess(ptr long ptr ptr ptr long long long long ptr)
 @ stub RtlCreateUserSecurityObject
 @ stdcall RtlCreateUserThread(long ptr long ptr long long ptr ptr ptr ptr)
 @ stub RtlCustomCPToUnicodeN
diff --git a/dlls/ntdll/rtl.c b/dlls/ntdll/rtl.c
index 74ad35a..f699cff 100644
--- a/dlls/ntdll/rtl.c
+++ b/dlls/ntdll/rtl.c
@@ -1613,3 +1613,16 @@ void WINAPI RtlInsertElementGenericTableAvl(PRTL_AVL_TABLE table, void *buffer,
 {
     FIXME("%p %p %u %p: stub\n", table, buffer, size, element);
 }
+
+/**********************************************************************
+ *           RtlCreateUserProcess [NTDLL.@]
+ */
+NTSTATUS WINAPI RtlCreateUserProcess(UNICODE_STRING *path, ULONG attributes, RTL_USER_PROCESS_PARAMETERS *parameters,
+                                     SECURITY_DESCRIPTOR *process_descriptor, SECURITY_DESCRIPTOR *thread_descriptor,
+                                     HANDLE parent, BOOLEAN inherit, HANDLE debug, HANDLE exception,
+                                     RTL_USER_PROCESS_INFORMATION *info)
+{
+    FIXME("(%p %u %p %p %p %p %d %p %p %p): stub\n", path, attributes, parameters, process_descriptor, thread_descriptor,
+                                     parent, inherit, debug, exception, info);
+    return STATUS_NOT_IMPLEMENTED;
+}
diff --git a/include/winternl.h b/include/winternl.h
index 42ecb5b..3494c00 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -1893,6 +1893,15 @@ typedef struct _LPC_MESSAGE {
   UCHAR Data[ANYSIZE_ARRAY];
 } LPC_MESSAGE, *PLPC_MESSAGE;
 
+typedef struct _RTL_USER_PROCESS_INFORMATION
+{
+  ULONG Length;
+  HANDLE Process;
+  HANDLE Thread;
+  CLIENT_ID ClientId;
+  SECTION_IMAGE_INFORMATION ImageInformation;
+} RTL_USER_PROCESS_INFORMATION, *PRTL_USER_PROCESS_INFORMATION;
+
 typedef enum _SHUTDOWN_ACTION {
   ShutdownNoReboot,
   ShutdownReboot,
@@ -2393,6 +2402,7 @@ NTSYSAPI NTSTATUS  WINAPI RtlCreateTimerQueue(PHANDLE);
 NTSYSAPI NTSTATUS  WINAPI RtlCreateTimer(PHANDLE, HANDLE, RTL_WAITORTIMERCALLBACKFUNC, PVOID, DWORD, DWORD, ULONG);
 NTSYSAPI BOOLEAN   WINAPI RtlCreateUnicodeString(PUNICODE_STRING,LPCWSTR);
 NTSYSAPI BOOLEAN   WINAPI RtlCreateUnicodeStringFromAsciiz(PUNICODE_STRING,LPCSTR);
+NTSYSAPI NTSTATUS  WINAPI RtlCreateUserProcess(UNICODE_STRING*,ULONG,RTL_USER_PROCESS_PARAMETERS*,SECURITY_DESCRIPTOR*,SECURITY_DESCRIPTOR*,HANDLE,BOOLEAN,HANDLE,HANDLE,RTL_USER_PROCESS_INFORMATION*);
 NTSYSAPI NTSTATUS  WINAPI RtlCreateUserThread(HANDLE,const SECURITY_DESCRIPTOR*,BOOLEAN,PVOID,SIZE_T,SIZE_T,PRTL_THREAD_START_ROUTINE,void*,HANDLE*,CLIENT_ID*);
 NTSYSAPI void      WINAPI RtlDeactivateActivationContext(DWORD,ULONG_PTR);
 NTSYSAPI PVOID     WINAPI RtlDecodePointer(PVOID);




More information about the wine-cvs mailing list