Sdílet prostřednictvím


CommentMarkAtProfile

Metoda CommentMarkAtProfile vloží hodnotu časového razítka, číselné označení a řetězec komentáře do souboru .vsp.Hodnotu časového razítka lze použít pro synchronizaci vnějších událostí.Pro značku a komentář určené pro vložení, profilování vlákna, které obsahuje funkci CommentMarkAtProfile musí být zapnuto.

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

Parametry

dnTimestamp

64-bitové celé číslo, které představuje hodnotu časového razítka.

lMarker

Číselné označení pro vložení.Značka musí být větší nebo rovna 0 (nule).

szComment

Ukazatel na textový řetězec, který má být vložen.Řetězec musí být menší než 256 znaků včetně ukončovacího znaku NULL.

Hodnota/Návratová hodnota vlastnosti

Funkce označuje úspěch nebo neúspěch pomocí výčtu PROFILE_COMMAND_STATUS.Návratová hodnota může být jedna z následujících:

Výčet

Description

MARK_ERROR_MARKER_RESERVED

Parametr je menší nebo roven 0.Tyto hodnoty jsou vyhrazeny.Značka a komentáře nejsou zaznamenávány.

MARK_ERROR_MODE_NEVER

Profilovací režim byl nastaven na hodnotu NEVER, když byla funkce volána.Značka a komentáře nejsou zaznamenávány.

MARK_ERROR_MODE_OFF

Režimu profilování byl v době volání funkce nastaven na vypnutý.Značka a komentáře nejsou zaznamenávány.

MARK_ERROR_NO_SUPPORT

V tomto kontextu neexistuje podpora značek.Značka a komentáře nejsou zaznamenávány.

MARK_ERROR_OUTOFMEMORY

Paměť nebyla pro záznam události dostupná.Značka a komentáře nejsou zaznamenávány.

MARK_TEXTTOOLONG

Řetězec přesahuje maximální délku 256 znaků.Řetězec komentáře je zkrácen a značka a komentář jsou zaznamenány.

MARK_OK

MARK_OK je vráceno pro označení úspěchu.

Poznámky

Stav profilování vlákna, které obsahuje funkci profilu značky musí být při vkládání značek a komentářů pomocí příkazu Mark nebo pomocí funkcí rozhraní API (CommentMarkAtProfile, CommentMarkProfile nebo MarkProfile) zapnutý.Značky profilu jsou v rámci rozsahu globální.Například značka profilu vložená do jednoho vlákna může být použita pro označení začátku nebo konce segmentu dat v libovolném vlákně v rámci souboru .vsp.

Důležitá poznámkaDůležité

Metody CommentMarkAtProfile by měly být používány pouze se službou WMI.

Ekvivalent v rozhraní .NET Framework

Microsoft.VisualStudio.Profiler.dll

Informace o funkci

Záhlaví

VSPerf.h

Knihovna

VSPerf.lib

Unicode

Implementováno jako CommentMarkAtProfileW (Unicode) a CommentMarkAtProfileA (ANSI).

Příklad

Následující kód představuje použití volání obecné funkce CommentMarkAtProfile.V příkladu se předpokládá použití maker řetězců Win32 a nastavení kompilátoru pro ANSI, aby bylo dosaženo volání funkce povolené pro 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
}

Viz také

Další zdroje

Visual Studio Profiler API Reference (nativní)