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ż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
}