CreateThread()里的六个参数里的第3个和第四个参数(LPTHREAD_START_ROUTINE lpStartAddress和 LPVOID lpParameter)要怎么填?另外还要定义什么东西?还有填进去的东西到底是什么意思?要详细才给分哦。。。
ä¸ãWindows APIå½æ°ã该å½æ°å¨ä¸»çº¿ç¨çåºç¡ä¸å建ä¸ä¸ªæ°çº¿ç¨ã微软å¨Windows APIä¸æä¾äºå»ºç«æ°ç线ç¨çå½æ°CreateThreadã
äºãCreateThreadå°å¨ä¸»çº¿ç¨çåºç¡ä¸å建ä¸ä¸ªæ°çº¿ç¨ï¼å¤§è´åå¦ä¸æ¥éª¤ï¼
1.å¨å æ ¸å¯¹è±¡ä¸åé ä¸ä¸ªçº¿ç¨æ è¯/å¥æï¼å¯ä¾ç®¡çï¼ç±CreateThreadè¿å
2.æ线ç¨éåºç 置为STILL_ACTIVEï¼æ线ç¨æ起计æ°ç½®1
3.åé contextç»æ
4.åé 两页çç©çåå¨ä»¥åå¤æ ï¼ä¿æ¤é¡µè®¾ç½®ä¸ºPAGE_READWRITEï¼ç¬¬2页设为PAGE_GUARD
5.lpStartAddrålpvThreadå¼è¢«æ¾å¨æ 顶ï¼ä½¿å®ä»¬æä¸ºä¼ éç»StartOfThreadçåæ°
6.æcontextç»æçæ æéæåæ 顶ï¼ç¬¬5æ¥ï¼æ令æéæåstartOfThreadå½æ°
ä¸ãMSDNä¸CreateThreadååï¼
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes,//SD
SIZE_T dwStackSize,//initialstacksize
LPTHREAD_START_ROUTINE lpStartAddress,//threadfunction
LPVOID lpParameter,//threadargument
DWORD dwCreationFlags,//creationoption
LPDWORD lpThreadId//threadidentifier
)
processthreadsapi.hä¸CreateThreadååï¼
WINBASEAPI
_Ret_maybenull_
HANDLE
WINAPI
CreateThread(
_In_opt_LPSECURITY_ATTRIBUTES lpThreadAttributes,
_In_SIZE_T dwStackSize,
_In_LPTHREAD_START_ROUTINE lpStartAddress,
_In_opt___drv_aliasesMemLPVOID lpParameter,
_In_DWORD dwCreationFlags,
_Out_opt_LPDWORD lpThreadId
);
åã示ä¾ï¼