複製鏈接
請複製以下鏈接發送給好友

CreateRemoteThread

鎖定
CreateRemoteThread是一個Windows API函數,它能夠創建一個在其它進程地址空間中運行的線程(也稱:創建遠程線程).。
中文名
創建遠程線程
外文名
CreateRemoteThread
性    質
API函數
應用領域
計算機
聲明位置
Windows.h
返回值
HANDLE

CreateRemoteThread函數原型

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
);
[1] 

CreateRemoteThread參數説明

[1] hProcess [in]
線程所屬進程的進程句柄.
該句柄必須具有 PROCESS_CREATE_THREAD, PROCESS_QUERY_INFORMATION, PROCESS_VM_OPERATION, PROCESS_VM_WRITE,和PROCESS_VM_READ 訪問權限.
[2] lpThreadAttributes [in]
一個指向 SECURITY_ATTRIBUTES 結構的指針, 該結構指定了線程的安全屬性.
[3] dwStackSize [in]
線程棧初始大小,以字節為單位,如果該值設為0,那麼使用系統默認大小.
[4] lpStartAddress [in]
在遠程進程的地址空間中,該線程的線程函數的起始地址.
[5] lpParameter [in]
傳給線程函數的參數.
[6] dwCreationFlags [in]
線程的創建標誌.
含義
0
線程創建後立即運行
CREATE_SUSPENDED
0x00000004
線程創建後先將線程掛起,直到 ResumeThread 被調用.
STACK_SIZE_PARAM_IS_A_RESERVATION
0x00010000
dwStackSize 參數指定為線程棧預訂大小,如果STACK_SIZE_PARAM_IS_A_RESERVATION沒有被指定,dwStackSize 參數指定為線程棧分配大小.
[7] lpThreadId [out]
指向所創建線程ID的指針,如果創建失敗,該參數為NULL.

CreateRemoteThread函數返回值

如果調用成功,返回新線程句柄.
如果失敗,返回NULL.

CreateRemoteThread要求

最低支持客户端系統
Windows 2000 Professional
最低支持服務端系統
Windows 2000 Server
頭文件
inbase.h (include Windows.h)
Kernel32.lib
DLL
Kernel32.dll
參考資料
  • 1.    windows核心編程(第5版)