HANDLE CreateThread( PSECURITY_ATTRIBUTES
psa, DWORD cbStack, PTHREAD_START_ROUTINE
pfnStartAddr, PVOID pvParam, DWORD tdwCreate,
PDWORD pdwThreadID);
Потоки
Код:
, где pfnStartAddr - стартовая функция, a pvParam - параметр ф-ии.
Можно ли передать функции 2, 3, n параметров???
Цитата:
Originally posted by wAngel
Как известно, чтобы создать новый поток, нужно
, где pfnStartAddr - стартовая функция, a pvParam - параметр ф-ии.
Можно ли передать функции 2, 3, n параметров???
Как известно, чтобы создать новый поток, нужно
Код:
HANDLE CreateThread( PSECURITY_ATTRIBUTES
psa, DWORD cbStack, PTHREAD_START_ROUTINE
pfnStartAddr, PVOID pvParam, DWORD tdwCreate,
PDWORD pdwThreadID);
psa, DWORD cbStack, PTHREAD_START_ROUTINE
pfnStartAddr, PVOID pvParam, DWORD tdwCreate,
PDWORD pdwThreadID);
, где pfnStartAddr - стартовая функция, a pvParam - параметр ф-ии.
Можно ли передать функции 2, 3, n параметров???
Помести нужные параметры в структуру и передавай указатель на её экземпляр.
Цитата:
Originally posted by Green
Помести нужные параметры в структуру и передавай указатель на её экземпляр.
Помести нужные параметры в структуру и передавай указатель на её экземпляр.
Это понятно, меня интересует возможность именно передачи функции нескольких параметров. У Рихтера там про это что-то не сильно много написано.
Цитата:
Originally posted by еwAngel
Это понятно, меня интересует возможность именно передачи функции нескольких параметров. У Рихтера там про это что-то не сильно много написано.
Это понятно, меня интересует возможность именно передачи функции нескольких параметров. У Рихтера там про это что-то не сильно много написано.
Несколько параметров передать нельзя (ну, если только ты не впихнёшь их в четыре байта...). Да и зачем, если, как уже было сказано, ты можешь скомпоновать их в структуру и передать в потоковую функцию указатель на неё. Или API перехватывать собираешься?.. :-?
И еще, юзай лучше _beginthreadex и _endthreadex. Почему так? Почитай на msdn.