CreateRemoteThread是一个Windows API函数,它能够创建一个在其它进程地址空间中运行的线程(也称:创建远程线程).。
CreateRemoteThread是一个Windows API函数,它能够创建一个在其它进程地址空间中运行的线程(也称:创建远程线程).。
HANDLE WINAPI CreateRemoteThread( __in HANDLE hProcess, __in LPSECURITY_ATTRIBUTES lpThreadAttributes, __in SIZE_T dwStackSize, __in LPTHREAD_START_ROUTINE lpStartAddress, __in LPVOID lpParameter, __in DWORD dwCreationFlags, __out LPDWORD lpThreadId ); |
hProcess
线程所属进程的进程句柄.
该句柄必须具有 PROCESS_CREATE_THREAD, PROCESS_QUERY_INFORMATION, PROCESS_VM_OPERATION, PROCESS_VM_WRITE,和PROCESS_VM_READ 访问权限.
lpThreadAttributes
一个指向 SECURITY_ATTRIBUTES 结构的指针, 该结构指定了线程的安全属性.
dwStackSize
线程栈初始大小,以字节为单位,如果该值设为0,那么使用系统默认大小.
lpStartAddress
在远程进程的地址空间中,该线程的线程函数的起始地址.
lpParameter
传给线程函数的参数.
dwCreationFlags
线程的创建标志.
值 | 含义 |
0 | 线程创建后立即运行 |
CREATE_SUSPENDED 0x00000004 | 线程创建后先将线程挂起,直到 ResumeThread 被调用. |
STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000 | dwStackSize 参数指定为线程栈预订大小,如果STACK_SIZE_PARAM_IS_A_RESERVATION没有被指定,dwStackSize 参数指定为线程栈分配大小. |
lpThreadId
指向所创建线程ID的指针,如果创建失败,该参数为NULL.
如果调用成功,返回新线程句柄.
如果失败,返回NULL.
最低支持客户端系统 | Windows 2000 Professional |
最低支持服务端系统 | Windows 2000 Server |
头文件 | inbase.h (include Windows.h) |
库 | Kernel32.lib |
DLL | Kernel32.dll |