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