Udostępnij za pośrednictwem


MarkProfile

Metoda MarkProfile wstawia znacznik profilowania do pliku .vsp.Profilowanie wątku, który zawiera funkcję MarkProfile, musi zostać ustawione na ON, jeśli znacznik ma zostać wstawiony.

PROFILE_COMMAND_STATUS PROFILERAPI MarkProfile( long lMarker );

Parametry

lMarker

Aby wstawić znacznik.Znacznik musi być większy lub równy 0 (zero).

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

MARK_ERROR_MARKER_RESERVED

Parametr jest mniejszy lub równy 0.Wartości te są zastrzeżone.Znak i komentarz nie są rejestrowane.

MARK_ERROR_MODE_NEVER

Tryb profilowania został ustawiony na NEVER, gdy funkcja została wywołana.Znak i komentarz nie są rejestrowane.

MARK_ERROR_MODE_OFF

Tryb profilowania został ustawiony na OFF przy wywołaniu funkcji.Znak i komentarz nie są rejestrowane.

MARK_ERROR_NO_SUPPORT

Brak obsługi znacznika w tym kontekście.Znak i komentarz nie są rejestrowane.

MARK_ERROR_OUTOFMEMORY

Brak dostępnej pamięci, aby zarejestrować zdarzenie.Znak i komentarz nie są rejestrowane.

MARK_TEXTTOOLONG

Ciąg przekracza maksymalną długość 256 znaków.Ciąg komentarza został obcięty, a znacznik i komentarz są rejestrowane.

MARK_OK

Zwracana wartość MARK_OK oznacza powodzenie.

Uwagi

Wartość znacznika jest wstawiana do pliku .vsp, za każdym razem, gdy kod jest uruchamiany, jeśli wątek zawierający funkcję MarkProfile jest profilowany.Funkcja MarkProfile może zostać wywołana wielokrotnie.

Znaczniki profilowania mają zakres globalny.Na przykład, znacznik profilowania wstawiony w jednym wątku może zostać użyty do oznaczenia początku lub końca segmentu danych, w dowolnym wątku w pliku .vsp.

Stan profilowania wątku, który zawiera funkcję profilowania znacznika, musi być włączony, gdy znaczniki i komentarze są wstawiane za pomocą polecenia Mark lub funkcji API (CommentMarkAtProfile, CommentMarkProfile lub MarkProfile).

Ważna uwagaWażne

Metoda MarkProfile powinna być używana jedynie podczas profilowania przy pomocy instrumentacji.

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 kod ilustruje funkcję MarkProfile.

void ExerciseMarkProfile()
{
    // Declare and initialize variables to pass to 
    // MarkProfile.  The values of these parameters 
    // are assigned based on the needs of the code;
    // and for the sake of simplicity in this example, 
    // the variables are assigned arbitrary values.
    int markId = 03;

    // Declare enumeration to hold return value of 
    // call to MarkProfile.
    PROFILE_COMMAND_STATUS markResult;

    // Variables used to print output.
    HRESULT hResult;
    TCHAR tchBuffer[256];

    markResult = MarkProfile(markId);

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

#ifdef DEBUG
    OutputDebugString(tchBuffer);
#endif
}

Zobacz też

Inne zasoby

Interfejsy API profilera Visual Studio (Native)