Udostępnij za pośrednictwem


CommentMarkAtProfile

Metoda CommentMarkAtProfile wstawia wartość znacznika czasu, znacznik liczbowy i ciąg komentarza do pliku vsp.Wartość znacznika czasu, może zostać wykorzystana do synchronizacji zdarzeń zewnętrznych.Aby znacznik i komentarz zostały dodane, musi być włączone profilowanie dla wątku który zawiera funkcję CommentMarkAtProfile.

PROFILE_COMMAND_STATUS PROFILERAPI CommentMarkAtProfile (
                                   __int64 dnTimestamp,
                                   long lMarker,
                                   LPCTSTR szComment);

Parametry

dnTimestamp

64-bitowa liczba całkowita reprezentująca wartość znacznika czasu.

lMarker

Znacznik numeryczny do wstawienia.Znacznik musi być większy lub równy 0 (zero).

szComment

Wskaźnik do ciągu tekstowego do wstawienia.Ciąg musi być mniejszy niż 256 znaków, włączając terminator NULL.

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

Funkcja wskazuje sukces lub niepowodzenie za pomocą 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.Znacznik i komentarz nie są rejestrowane.

MARK_ERROR_MODE_NEVER

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

MARK_ERROR_MODE_OFF

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

MARK_ERROR_NO_SUPPORT

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

MARK_ERROR_OUTOFMEMORY

Brak dostępnej pamięci aby zarejestrować zdarzenie.Znacznik 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

Stan profilowania dla wątku, który zawiera funkcję znakowania profilu musi być włączony, gdy znaczniki i komentarze są wstawiane za pomocą polecenia Wstaw znacznik lub funkcji API (CommentMarkAtProfile, CommentMarkProfile lub MarkProfile).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.

Ważna uwagaWażne

Metody CommentMarkAtProfile należy używać tylko z instrumentacją.

Odpowiednik w programie .NET Framework

Microsoft.VisualStudio.Profiler.dll

Informacje o funkcji

Nagłówek

Załącz VSPerf.h

Biblioteka

Użyj VSPerf.lib

Unikod

Zaimplementowana jako CommentMarkAtProfileW (Unicode) i CommentMarkAtProfileA (ANSI).

Przykład

Poniższy kod ilustruje użycie wywołania funkcji generycznej CommentMarkAtProfile.W przykładzie założono użycie makr ciągów Win32 i ustawień kompilatora ANSI aby ustalić, czy kod wywołuje włączoną funkcję ANSI.

void ExerciseCommentMarkAtProfile(void)
{
    // Declare and initalize variables to pass to 
    // CommentMarkAtProfile.  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.
    int64 timeStamp = 0x1111;
    long markId = 01;
    TCHAR * markText = TEXT("Exercising CommentMarkAtProfile...");

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

    // Declare MarkOperationResult Enumerator.  
    // Holds return value from call to CommentMarkAtProfile.
    PROFILE_COMMAND_STATUS markResult;

    markResult = CommentMarkAtProfile(
        timeStamp,
        markId,
        markText);

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

#ifdef DEBUG
    OutputDebugString(tchBuffer);
#endif
}

Zobacz też

Inne zasoby

Interfejsy API profilera Visual Studio (Native)