在我的情况下,我需要CreateThread()函数的线程函数processClient(LPVOID),以在创建线程时接受其他参数(即:processClient(LPVOID,someADTorARRAY))。
我目前的代码:
...function declaration
DWORD WINAPI processClient(LPVOID lpParam){
...do stuff with socket
}
...in main
CreateThread(
NULL, // don't inherit handle
0, // use default size for the executable
processClient,
(LPVOID)ClientSocket, // thread data
0, // run right away
&i );
答案 0 :(得分:4)
创建一个包含所有参数的结构,然后将指针传递给它。
struct ClientParams
{
socket sock;
someADT adt;
...
}
ClientParams params = new ClientParams();
CreateThread(..., (LPVOID)params, ...);