08/02/13 07:21:02
>>383
void*の引数があるから、それで何とかしろ。
素人にはお勧めしない方法だが、下のような方法で組むことがあるな。
渡した内容をきちんと受け取るまで待っている所が重要。
static foo_data {
volatile int flag;
int data1;
}
DWORD ThreadProc (LPVOID lpParam) {
struct foo_data param = *(struct foo_data *)lpParam;
((struct foo_data *)lpParam)->flag = 1;
...
}
HANDLE ThreadStartProc(int data1) {
struct foo_data param = { 0, data1 };
HANDLE hThread;
if ( (hThread = CreateThread(NULL, 0, ThreadProc, ¶m, ...)) != NULL ) {
while ( !param.data1 ) Sleep(100);
}
return hThread;
}