Udostępnij za pośrednictwem


StartProfile

Funkcja StartProfile ustawia licznik na 1 (włączone) dla określonego poziomu profilowania.

PROFILE_COMMAND_STATUS PROFILERAPI StartProfile(
                        PROFILE_CONTROL_LEVEL Level, 
                        unsigned int dwId);

Parametry

Level

Wskazuje poziom profilowania do którego ma być zastosowane zbieranie danych nt wydajności.Następujące moduły wyliczające PROFILE_CONTROL_LEVEL mogą zostać użyte do wskazania jednego z trzech poziomów, do których można zastosować zbieranie danych wydajności:

Moduł wyliczający

Opis

PROFILE_GLOBALLEVEL

Ustawienie poziomu globalnego dotyczy wszystkich procesów i wątków w przebiegu profilowania.

PROFILE_PROCESSLEVEL

Ustawienie poziomu procesu dotyczy wszystkich wątków, które stanowią część określonego procesu.

PROFILE_THREADLEVEL

Ustawienie poziomu profilowania wątku dotyczy określonego wątku.

dwId

Identyfikator procesu lub wątku generowany przez system.

Wartość właściwości/Zwracana wartość

Funkcja określa sukces lub niepowodzenie przy użyciu wyliczenia PROFILE_COMMAND_STATUS.Zwracana wartość może być jedną z następujących:

Moduł wyliczający

Opis

PROFILE_ERROR_ID_NOEXIST

Identyfikator elementu profilowania nie istnieje.

PROFILE_ERROR_LEVEL_NOEXIST

Określony poziom profilowania nie istnieje.

PROFILE_ERROR_MODE_NEVER

Tryb profilowania został ustawiony na NEVER, gdy funkcja została wywołana.

PROFILE_ERROR_NOT_YET_IMPLEMENTED

Wywołanie funkcji profilowania, poziom profilowania lub połączenie wywołania z poziomem nie jest jeszcze zaimplementowane.

PROFILE_OK

Wywołanie zakończyło się pomyślnie.

Uwagi

StartProfile i StopProfile kontrolują stan Start/Stop poziomu profilowania.Wartość domyślna Start/Stop to 1.W rejestrze można zmienić wartość początkową.Każde wywołanie StartProfile ustawia Start/Stop na 1; Każde wywołanie StopProfile ustawia ją na 0.

Kiedy Start/Stop jest większe od 0, stan Start/Stop dla poziomu to ON.Gdy jest mniejsze lub równe 0 stan Start/Stop to OFF.

Gdy zarówno stan Start/Stop i stan Wstrzymaj/Wznów są włączone, stan profilowania dla poziomu to ON.Dla profilowanego wątku, stany wątku: globalny, procesu i poziomu muszą być włączone.

Odpowiednik w programie .NET Framework

Microsoft.VisualStudio.Profiler.dll

Informacje o funkcji

Nagłówek: Zadeklarowany w VSPerf.h

Importowana biblioteka: VSPerf.lib

Przykład

Poniższy przykład ilustruje wywołanie funkcji StartProfile.

void ExerciseStartProfile()
{
    // StartProfile and StopProfile control the
    // Start/Stop state for the profiling level. 
    // The default initial value of Start/Stop is 1. 
    // The initial value can be changed in the registry. 
    // Each call to StartProfile sets Start/Stop to 1; 
    // each call to StopProfile sets it to 0. 
    
    // Variables used to print output.
    HRESULT hResult;
    TCHAR tchBuffer[256];

    // Declare enumeration to hold return value of 
    // the call to StartProfile.
    PROFILE_COMMAND_STATUS profileResult;

    profileResult = StartProfile(
        PROFILE_THREADLEVEL,
        PROFILE_CURRENTID);

    // Format and print result.
    LPCTSTR pszFormat = TEXT("%s %d.\0");
    TCHAR* pszTxt = TEXT("StartProfile returned");
    hResult = StringCchPrintf(tchBuffer, 256, pszFormat, 
        pszTxt, profileResult);

#ifdef DEBUG
    OutputDebugString(tchBuffer);
#endif
}

Zobacz też

Inne zasoby

Visual Studio Profiler API Reference (w trybie macierzystym)