Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
32617e81
Commit
32617e81
authored
Feb 25, 2018
by
Nikolay Sivov
Committed by
Alexandre Julliard
Feb 26, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
kernel32: Add CreateRemoteThreadEx().
Signed-off-by:
Nikolay Sivov
<
nsivov@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
cb05be7b
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
22 additions
and
9 deletions
+22
-9
api-ms-win-core-processthreads-l1-1-0.spec
...threads-l1-1-0/api-ms-win-core-processthreads-l1-1-0.spec
+1
-1
api-ms-win-core-processthreads-l1-1-1.spec
...threads-l1-1-1/api-ms-win-core-processthreads-l1-1-1.spec
+1
-1
api-ms-win-core-processthreads-l1-1-2.spec
...threads-l1-1-2/api-ms-win-core-processthreads-l1-1-2.spec
+1
-1
kernel32.spec
dlls/kernel32/kernel32.spec
+1
-1
thread.c
dlls/kernel32/thread.c
+16
-4
kernelbase.spec
dlls/kernelbase/kernelbase.spec
+1
-1
winbase.h
include/winbase.h
+1
-0
No files found.
dlls/api-ms-win-core-processthreads-l1-1-0/api-ms-win-core-processthreads-l1-1-0.spec
View file @
32617e81
...
...
@@ -2,7 +2,7 @@
@ stdcall CreateProcessAsUserW(long wstr wstr ptr ptr long long ptr wstr ptr ptr) advapi32.CreateProcessAsUserW
@ stdcall CreateProcessW(wstr wstr ptr ptr long long ptr wstr ptr ptr) kernel32.CreateProcessW
@ stdcall CreateRemoteThread(long ptr long ptr long long ptr) kernel32.CreateRemoteThread
@ st
ub
CreateRemoteThreadEx
@ st
dcall CreateRemoteThreadEx(long ptr long ptr ptr long ptr ptr) kernel32.
CreateRemoteThreadEx
@ stdcall CreateThread(ptr long ptr long long ptr) kernel32.CreateThread
@ stdcall DeleteProcThreadAttributeList(ptr) kernel32.DeleteProcThreadAttributeList
@ stdcall ExitProcess(long) kernel32.ExitProcess
...
...
dlls/api-ms-win-core-processthreads-l1-1-1/api-ms-win-core-processthreads-l1-1-1.spec
View file @
32617e81
...
...
@@ -2,7 +2,7 @@
@ stdcall CreateProcessAsUserW(long wstr wstr ptr ptr long long ptr wstr ptr ptr) advapi32.CreateProcessAsUserW
@ stdcall CreateProcessW(wstr wstr ptr ptr long long ptr wstr ptr ptr) kernel32.CreateProcessW
@ stdcall CreateRemoteThread(long ptr long ptr long long ptr) kernel32.CreateRemoteThread
@ st
ub
CreateRemoteThreadEx
@ st
dcall CreateRemoteThreadEx(long ptr long ptr ptr long ptr ptr) kernel32.
CreateRemoteThreadEx
@ stdcall CreateThread(ptr long ptr long long ptr) kernel32.CreateThread
@ stdcall DeleteProcThreadAttributeList(ptr) kernel32.DeleteProcThreadAttributeList
@ stdcall ExitProcess(long) kernel32.ExitProcess
...
...
dlls/api-ms-win-core-processthreads-l1-1-2/api-ms-win-core-processthreads-l1-1-2.spec
View file @
32617e81
...
...
@@ -2,7 +2,7 @@
@ stdcall CreateProcessAsUserW(long wstr wstr ptr ptr long long ptr wstr ptr ptr) advapi32.CreateProcessAsUserW
@ stdcall CreateProcessW(wstr wstr ptr ptr long long ptr wstr ptr ptr) kernel32.CreateProcessW
@ stdcall CreateRemoteThread(long ptr long ptr long long ptr) kernel32.CreateRemoteThread
@ st
ub
CreateRemoteThreadEx
@ st
dcall CreateRemoteThreadEx(long ptr long ptr ptr long ptr ptr) kernel32.
CreateRemoteThreadEx
@ stdcall CreateThread(ptr long ptr long long ptr) kernel32.CreateThread
@ stdcall DeleteProcThreadAttributeList(ptr) kernel32.DeleteProcThreadAttributeList
@ stdcall ExitProcess(long) kernel32.ExitProcess
...
...
dlls/kernel32/kernel32.spec
View file @
32617e81
...
...
@@ -319,7 +319,7 @@
# @ stub CreateProcessInternalWSecure
@ stdcall CreateProcessW(wstr wstr ptr ptr long long ptr wstr ptr ptr)
@ stdcall CreateRemoteThread(long ptr long ptr long long ptr)
# @ stub CreateRemoteThreadEx
@ stdcall CreateRemoteThreadEx(long ptr long ptr ptr long ptr ptr)
@ stdcall CreateSemaphoreA(ptr long long str)
@ stdcall CreateSemaphoreExA(ptr long long str long long)
@ stdcall CreateSemaphoreExW(ptr long long wstr long long)
...
...
dlls/kernel32/thread.c
View file @
32617e81
...
...
@@ -55,9 +55,18 @@ HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread( SECURITY_ATTRIBUTES *sa, SIZE_T st
sa
,
stack
,
start
,
param
,
flags
,
id
);
}
/***************************************************************************
* CreateRemoteThread (KERNEL32.@)
*/
HANDLE
WINAPI
CreateRemoteThread
(
HANDLE
hProcess
,
SECURITY_ATTRIBUTES
*
sa
,
SIZE_T
stack
,
LPTHREAD_START_ROUTINE
start
,
LPVOID
param
,
DWORD
flags
,
DWORD
*
id
)
{
return
CreateRemoteThreadEx
(
hProcess
,
sa
,
stack
,
start
,
param
,
flags
,
NULL
,
id
);
}
/***************************************************************************
* CreateRemoteThreadEx (KERNEL32.@)
*
* Creates a thread that runs in the address space of another process
*
...
...
@@ -73,15 +82,18 @@ HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread( SECURITY_ATTRIBUTES *sa, SIZE_T st
* Bad start address for RtlCreateUserThread because the library
* may be loaded at different address in other process.
*/
HANDLE
WINAPI
CreateRemoteThread
(
HANDLE
hProcess
,
SECURITY_ATTRIBUTES
*
sa
,
SIZE_T
stack
,
LPTHREAD_START_ROUTINE
start
,
LPVOID
param
,
DWORD
flags
,
LPDWORD
id
)
HANDLE
WINAPI
CreateRemoteThread
Ex
(
HANDLE
hProcess
,
SECURITY_ATTRIBUTES
*
sa
,
SIZE_T
stack
,
LPTHREAD_START_ROUTINE
start
,
LPVOID
param
,
DWORD
flags
,
LPPROC_THREAD_ATTRIBUTE_LIST
attributes
,
DWORD
*
id
)
{
HANDLE
handle
;
CLIENT_ID
client_id
;
NTSTATUS
status
;
SIZE_T
stack_reserve
=
0
,
stack_commit
=
0
;
if
(
attributes
)
FIXME
(
"thread attributes ignored
\n
"
);
if
(
flags
&
STACK_SIZE_PARAM_IS_A_RESERVATION
)
stack_reserve
=
stack
;
else
stack_commit
=
stack
;
...
...
dlls/kernelbase/kernelbase.spec
View file @
32617e81
...
...
@@ -212,7 +212,7 @@
# @ stub CreateProcessInternalW
@ stdcall CreateProcessW(wstr wstr ptr ptr long long ptr wstr ptr ptr) kernel32.CreateProcessW
@ stdcall CreateRemoteThread(long ptr long ptr long long ptr) kernel32.CreateRemoteThread
@ st
ub
CreateRemoteThreadEx
@ st
dcall CreateRemoteThreadEx(long ptr long ptr ptr long ptr ptr) kernel32.
CreateRemoteThreadEx
@ stdcall CreateRestrictedToken(long long long ptr long ptr long ptr ptr) advapi32.CreateRestrictedToken
@ stdcall CreateSemaphoreExW(ptr long long wstr long long) kernel32.CreateSemaphoreExW
@ stdcall CreateSemaphoreW(ptr long long wstr) kernel32.CreateSemaphoreW
...
...
include/winbase.h
View file @
32617e81
...
...
@@ -1844,6 +1844,7 @@ WINADVAPI BOOL WINAPI CreateProcessAsUserW(HANDLE,LPCWSTR,LPWSTR,LPSECUR
#define CreateProcessAsUser WINELIB_NAME_AW(CreateProcessAsUser)
WINADVAPI
BOOL
WINAPI
CreateProcessWithLogonW
(
LPCWSTR
,
LPCWSTR
,
LPCWSTR
,
DWORD
,
LPCWSTR
,
LPWSTR
,
DWORD
,
LPVOID
,
LPCWSTR
,
LPSTARTUPINFOW
,
LPPROCESS_INFORMATION
);
WINBASEAPI
HANDLE
WINAPI
CreateRemoteThread
(
HANDLE
,
LPSECURITY_ATTRIBUTES
,
SIZE_T
,
LPTHREAD_START_ROUTINE
,
LPVOID
,
DWORD
,
LPDWORD
);
WINBASEAPI
HANDLE
WINAPI
CreateRemoteThreadEx
(
HANDLE
,
LPSECURITY_ATTRIBUTES
,
SIZE_T
,
LPTHREAD_START_ROUTINE
,
LPVOID
,
DWORD
,
LPPROC_THREAD_ATTRIBUTE_LIST
,
LPDWORD
);
WINADVAPI
BOOL
WINAPI
CreateRestrictedToken
(
HANDLE
,
DWORD
,
DWORD
,
PSID_AND_ATTRIBUTES
,
DWORD
,
PLUID_AND_ATTRIBUTES
,
DWORD
,
PSID_AND_ATTRIBUTES
,
PHANDLE
);
WINBASEAPI
HANDLE
WINAPI
CreateSemaphoreA
(
LPSECURITY_ATTRIBUTES
,
LONG
,
LONG
,
LPCSTR
);
WINBASEAPI
HANDLE
WINAPI
CreateSemaphoreW
(
LPSECURITY_ATTRIBUTES
,
LONG
,
LONG
,
LPCWSTR
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment