=?UTF-8?Q?Ri=C4=8Dardas=20Barkauskas=20?=: advapi32: Partially implement CreateProcessWithTokenW.

Alexandre Julliard julliard at winehq.org
Wed Jan 23 16:40:18 CST 2013


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

Author: Ričardas Barkauskas <rbarkauskas at codeweavers.com>
Date:   Tue Jan 22 23:53:55 2013 +0200

advapi32: Partially implement CreateProcessWithTokenW.

---

 dlls/advapi32/advapi32.spec |    2 +-
 dlls/advapi32/security.c    |   14 ++++++++++++++
 2 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec
index 38342dc..027d9d2 100644
--- a/dlls/advapi32/advapi32.spec
+++ b/dlls/advapi32/advapi32.spec
@@ -126,7 +126,7 @@
 # @ stub CreateProcessAsUserSecure
 @ stdcall CreateProcessAsUserW(long wstr wstr ptr ptr long long ptr wstr ptr ptr)
 @ stdcall CreateProcessWithLogonW(wstr wstr wstr long wstr wstr long ptr wstr ptr ptr)
-# @ stub CreateProcessWithTokenW
+@ stdcall CreateProcessWithTokenW(long long wstr wstr long ptr wstr ptr ptr)
 @ stdcall CreateRestrictedToken(long long long ptr long ptr long ptr ptr)
 @ stdcall CreateServiceA(long str str long long long long str str ptr str str str)
 @ stdcall CreateServiceW(long wstr wstr long long long long wstr wstr ptr wstr wstr wstr)
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
index 8e2f39c..6da7331 100644
--- a/dlls/advapi32/security.c
+++ b/dlls/advapi32/security.c
@@ -5275,6 +5275,20 @@ BOOL WINAPI CreateProcessWithLogonW( LPCWSTR lpUsername, LPCWSTR lpDomain, LPCWS
     return FALSE;
 }
 
+BOOL WINAPI CreateProcessWithTokenW(HANDLE token, DWORD logon_flags, LPCWSTR application_name, LPWSTR command_line,
+        DWORD creation_flags, void *environment, LPCWSTR current_directory, STARTUPINFOW *startup_info,
+        PROCESS_INFORMATION *process_information )
+{
+    FIXME("%p 0x%08x %s %s 0x%08x %p %s %p %p - semi-stub\n", token,
+          logon_flags, debugstr_w(application_name), debugstr_w(command_line),
+          creation_flags, environment, debugstr_w(current_directory),
+          startup_info, process_information);
+
+    /* FIXME: check if handles should be inherited */
+    return CreateProcessW( application_name, command_line, NULL, NULL, FALSE, creation_flags, environment,
+                           current_directory, startup_info, process_information );
+}
+
 /******************************************************************************
  * DuplicateTokenEx [ADVAPI32.@]
  */




More information about the wine-cvs mailing list