_beginthreadex возвращает дескриптор потока:
m_hStreamStatsThread = (HANDLE) _beginthreadex( NULL, 0, StreamStatsThread, this, 0, NULL );
Этот дескриптор может использоваться, если вам нужно ссылаться на поток в вызовах, например, TerminateThread (..).
Согласно странице MSDN на _beginthreadex , _beginthreadex не всегда будет возвращать действительный дескриптор - например, он может также вернуть -1L при ошибке и т. Д.
Когда поток завершится нормально, я могудолжен вызвать CloseHandle для дескриптора потока, или я могу просто установить его значение в NULL / INVALID_HANDLE_VALUE?