Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Opracował: Piotr DejaVu Szawdyński
Biblioteki C/C++

SetThreadName

[funkcja] Ustawia nazwę wątku widoczną z poziomu debuggera Visual C++.

Składnia

C/C++
#include <windows.h>

struct THREADNAME_INFO
{
    DWORD dwType;
    LPCSTR szName;
    DWORD dwThreadID;
    DWORD dwFlags;
};

void SetThreadName( DWORD dwThreadID, LPCSTR szThreadName );

Pola struktury

Pole strukturyOpis
DWORD dwTypePole, którego wartość musi wynosić 0x1000
LPCSTR szNameWskaźnik na łańcuch znaków. Wskazuje na nazwę jaka ma zostać nadana wątkowi.
DWORD dwThreadIDIdentyfikator wątku, któremu ma zostać nadana nazwa. Wartość -1 oznacza wątek wywołujący.
DWORD dwFlagsPole zarezerwowane, musi wynosić zero.

Argumenty

ArgumentOpis
DWORD dwThreadIDIdentyfikator wątku, któremu ma zostać nadana nazwa. Wartość -1 oznacza wątek wywołujący.
LPCSTR szThreadNameNazwa, która ma zostać nadana wątkowi.

Opis szczegółowy

Funkcja ustawia nazwę wątku widoczną z poziomu debuggera Visual C++.

Uwaga!
Opisana funkcja oraz struktura nie znajduje się w pliku nagłówkowym windows.h. Kod funkcji oraz struktury należy dołączyć do kodu własnego projektu.

Przykład

C/C++
#include <windows.h>

typedef struct tagTHREADNAME_INFO
{
    DWORD dwType;
    LPCSTR szName;
    DWORD dwThreadID;
    DWORD dwFlags;
} THREADNAME_INFO;

void SetThreadName( DWORD dwThreadID, LPCSTR szThreadName )
{
    THREADNAME_INFO info;
    info.dwType = 0x1000;
    info.szName = szThreadName;
    info.dwThreadID = dwThreadID;
    info.dwFlags = 0;
   
    __try
    {
        ::RaiseException( 0x406D1388, 0, sizeof( info ) / sizeof( DWORD ),( DWORD * ) & info );
    }
    __except( EXCEPTION_CONTINUE_EXECUTION )
    {
    }
}

int main()
{
    SetThreadName( - 1, "Główny wątek programu" );
    return 0;
}

Linki zewnętrzne