Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
предупреждение C28617: избегайте использования возвращаемого значения _beginthread(). Вместо этого используйте _beginthreadex()
Безопаснее использовать _beginthreadex, чем _beginthread. Если поток, вызванный _beginthread, быстро завершает работу, дескриптор, возвращенный вызывающей _beginthread, может быть недопустимым или, хуже, указывает на другой поток. Однако дескриптор, возвращаемый _beginthreadex, должен быть закрыт вызывающим элементом _beginthreadex, поэтому он гарантированно является допустимым дескриптором, если _beginthreadex не вернул ошибку.
Примеры
В следующем примере кода создается это предупреждение.
hThread = (HANDLE)_beginthread (&SecondThreadFunc, 0, &args);
WaitForSingleObject (hThread, INFINITE);
В следующем примере кода избежать предупреждения.
hThread = (HANDLE)_beginthreadex ( NULL, 0,
&SecondThreadFunc,
&args, 0, &threadID);
WaitForSingleObject (hThread, INFINITE);
CloseHandle(hThread);