C28617
aviso C28617: evite usar o valor retornado de _beginthread(). Em vez disso, use _beginthreadex()
É mais seguro usar _beginthreadex do que _beginthread. Se o thread gerado por _beginthread for encerrado rapidamente, o identificador retornado ao chamador de _beginthread poderá ser inválido ou, pior, apontar para outro thread. No entanto, o identificador retornado por _beginthreadex precisa ser fechado pelo chamador de _beginthreadex, portanto, é garantido que ele seja um identificador válido se _beginthreadex não retornou um erro.
Exemplos
O exemplo de código a seguir gera esse aviso.
hThread = (HANDLE)_beginthread (&SecondThreadFunc, 0, &args);
WaitForSingleObject (hThread, INFINITE);
O exemplo de código a seguir evita o aviso.
hThread = (HANDLE)_beginthreadex ( NULL, 0,
&SecondThreadFunc,
&args, 0, &threadID);
WaitForSingleObject (hThread, INFINITE);
CloseHandle(hThread);