Udostępnij za pośrednictwem


StopProfile

Funkcja StopProfile ustawia licznik na 0 (wyłączone) dla określonego poziomu profilowania.

PROFILE_COMMAND_STATUS PROFILERAPI StopProfile(
                       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 demonstruje metodę StopProfile.W przykładzie założono, że wywołano metodę StartProfile dla tego samego wątku lub procesu zidentyfikowanego przez PROFILE_CURRENTID.

void ExerciseStopProfile()
{
    // 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 result of call
    // to StopProfile.
    PROFILE_COMMAND_STATUS profileResult;

    profileResult = StopProfile(
        PROFILE_THREADLEVEL,
        PROFILE_CURRENTID);

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

#ifdef DEBUG
    OutputDebugString(tchBuffer);
#endif
}

Zobacz też

Inne zasoby

Interfejsy API profilera Visual Studio (Native)