Condividi tramite


MarkProfile

Aggiornamento: novembre 2007

Il metodo MarkProfile inserisce un indicatore di analisi nel file vsp. Per l'inserimento dell'indicatore, è necessario che l'analisi del thread contenente la funzione MarkProfile sia impostata su ON.

PROFILE_COMMAND_STATUS PROFILERAPI MarkProfile( long lMarker );

Parametri

lMarker

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

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

Descrizione

MARK_ERROR_MARKER_RESERVED

Il valore del parametro è minore o uguale a 0. Questi 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 analisi 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

Il valore dell'indicatore viene inserito nel file vsp a ogni esecuzione del codice se è in corso il profilo del thread che contiene la funzione MarkProfile. Tale funzione può essere chiamata più volte.

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.

La stato di analisi per il thread contenente la funzione relativa all'indicatore di analisi deve essere impostato su ON quando vengono inseriti indicatori e commenti con il comando Mark o con le funzioni API (CommentMarkAtProfile, CommentMarkProfile o MarkProfile).

Nota importante:

I metodi MarkProfile vanno utilizzati esclusivamente con l'analisi mediante strumentazione.

Equivalente .NET Framework

Microsoft.VisualStudio.Profiler.dll

Informazioni sulla funzione

Intestazione: dichiarata in VSPerf.h

Libreria di importazione: VSPerf.lib

Esempio

Nel codice seguente è illustrata la funzione 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
}

Vedere anche

Altre risorse

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