Reference

CreateRemoteThread(3w)

NAME

CreateRemoteThread (KERNEL32.@)

SYNOPSIS

HANDLE CreateRemoteThread
(
HANDLE hProcess,
SECURITY_ATTRIBUTES* sa,
SIZE_T stack,
LPTHREAD_START_ROUTINE start,
LPVOID param,
DWORD flags,
LPDWORD id
)

DESCRIPTION

Creates a thread that runs in the address space of another process.

PARAMS

RETURNS

Success: Handle to the new thread.

Failure: NULL. Use GetLastError(3w) to find the error cause.

BUGS

Improper memory allocation: there's no ability to free new_thread_info in other process. Bad start address for RtlCreateUserThread because the library may be loaded at different address in other process.

IMPLEMENTATION

Declared in "winbase.h".

Implemented in "dlls/kernel32/thread.c".

Debug channel "thread".

History