Condividi tramite


CommentMarkAtProfile

Il metodo CommentMarkAtProfile inserisce un valore di timestamp, un indicatore numerico e una stringa di commento nel file vsp. Il valore di timestamp può essere utilizzato per sincronizzare gli eventi esterni. Per l'inserimento dell'indicatore e del commento, è necessario che la profilatura per il thread contenente la funzione CommentMarkAtProfile sia impostata su ON.

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

Parametri

dnTimestamp

Integer a 64 bit che rappresenta un valore di timestamp.

lMarker

Indicatore numerico da inserire che deve essere maggiore o uguale a 0 (zero).

szComment

Puntatore alla stringa di testo da inserire. La stringa deve contenere meno di 256 caratteri, incluso il carattere di terminazione NULL.

Valore proprietà/Valore restituito

La funzione indica esito positivo o negativo utilizzando l'enumerazione PROFILE_COMMAND_STATUS. Il valore restituito può essere uno dei seguenti:

Enumerator

Oggetto di descrizione

MARK_ERROR_MARKER_RESERVED

Il parametro è minore di o uguale a 0. I valori sono riservati. L'indicatore e il commento non vengono registrati.

MARK_ERROR_MODE_NEVER

La modalità di profilo è stata impostata su NEVER quando è stata chiamata la funzione. L'indicatore e il commento non vengono registrati.

MARK_ERROR_MODE_OFF

La modalità di profilatura era impostata su OFF quando è stata chiamata la funzione. L'indicatore e il commento non vengono registrati.

MARK_ERROR_NO_SUPPORT

In questo contesto non sono supportati indicatori. L'indicatore e il commento non vengono registrati.

MARK_ERROR_OUTOFMEMORY

Memoria non disponibile per registrare l'evento. L'indicatore e il commento non vengono registrati.

MARK_TEXTTOOLONG

La stringa supera il limite massimo di 256 caratteri. La stringa di commento viene troncata e l'indicatore e il commento vengono registrati.

MARK_OK

MARK_OK viene restituito per indicare esito positivo.

Note

La stato di profilatura per il thread contenente la funzione relativa al contrassegno di profilo deve essere impostato su ON quando vengono inseriti indicatori e commenti con il comando Mark o con le funzioni API (CommentMarkAtProfile, CommentMarkProfile o MarkProfile). Gli indicatori di profilo hanno un ambito globale. Un indicatore di profilo inserito in un thread può, ad esempio, essere utilizzato per contrassegnare l'inizio o la fine di un segmento di dati in qualsiasi thread del file vsp.

Nota importanteImportante

I metodi CommentMarkAtProfile vanno utilizzati esclusivamente con la strumentazione.

Equivalente .NET Framework

Microsoft.VisualStudio.Profiler.dll

Informazioni sulla funzione

Header

Includere VSPerf.h

Libreria

Utilizzare VSPerf.lib

Unicode

Implementato come CommentMarkAtProfileW (Unicode) e CommentMarkAtProfileA (ANSI).

Esempio

Nel codice riportato di seguito è illustrato l'utilizzo della chiamata della funzione generica CommentMarkAtProfile. Nell'esempio si presuppone l'utilizzo di macro di stringa Win32 e delle impostazioni del compilatore per ANSI per stabilire se il codice chiama la versione ANSI della funzione.

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
}

Vedere anche

Altre risorse

Riferimenti per le API del profiler di Visual Studio (native)