SetThreadName не устанавливает имя потока в Visual Studio 2005 при использовании, как показано ниже:
DWORD threadId;
HANDLE handle = CreateThread(NULL, stackSize, ThreadFunction,
ThreadParam, CREATE_SUSPENDED, &threadId);
if (handle)
{
SetThreadName(threadId, "NiceName");
ResumeThread(handle);
}
После открытия окна Threads вместо NiceName я вижу там имя ThreadFunction. Другие инструменты (например, Intel Parallel Inspector) используют NiceName, как и ожидалось.