MarkProfile

El método MarkProfile inserta una marca de perfil en el archivo .vsp.La generación de perfiles para el subproceso que contiene la función MarkProfile debe estar activada (ON) para que se inserte la marca.

PROFILE_COMMAND_STATUS PROFILERAPI MarkProfile( long lMarker );

Parámetros

lMarker

Marcador que se inserta.El marcador debe ser mayor o igual que 0 (cero).

Valor de propiedad y valor devuelto

La función indica si la operación es correcta o errónea mediante la enumeración PROFILE_COMMAND_STATUS.El valor devuelto puede ser cualquiera de los siguientes:

Enumerator

Descripción

MARK_ERROR_MARKER_RESERVED

El parámetro es menor o igual que 0.Estos valores están reservados.La marca y el comentario no se registran.

MARK_ERROR_MODE_NEVER

El modo de generación de perfiles se estableció en NEVER cuando se llamó a la función.La marca y el comentario no se registran.

MARK_ERROR_MODE_OFF

El modo de generación de perfiles se estableció en OFF cuando se llamó a la función.La marca y el comentario no se registran.

MARK_ERROR_NO_SUPPORT

No se admite ninguna marca en este contexto.La marca y el comentario no se registran.

MARK_ERROR_OUTOFMEMORY

La memoria no estaba disponible para registrar el evento.La marca y el comentario no se registran.

MARK_TEXTTOOLONG

La cadena supera el máximo de 256 caracteres.La cadena del comentario se trunca y se registran la marca y el comentario.

MARK_OK

Se devuelve MARK_OK para indicar que la operación es correcta.

Comentarios

El valor de marca se inserta en el archivo .vsp cada vez que el código se ejecuta si se generan los perfiles del subproceso que contiene la función MarkProfile.Puede llamar varias veces a MarkProfile.

Las marcas de perfil tienen un ámbito global.Por ejemplo, una marca de perfil insertada en un subproceso se puede utilizar para marcar el inicio y el final de un segmento de datos en cualquier subproceso del archivo .vsp.

El estado de generación de perfiles del subproceso que contiene la función de perfil de marcas debe estar activado cuando se inserten marcas o comentarios con el comando Mark o con las funciones de la API (CommentMarkAtProfile, CommentMarkProfile o MarkProfile).

Nota importanteImportante

El método MarkProfile sólo se debe utilizar con la generación de perfiles de instrumentación.

Equivalente en .NET Framework

Microsoft.VisualStudio.Profiler.dll

Información de la función

Encabezado: Declarado en VSPerf.h

Biblioteca de importación: VSPerf.lib

Ejemplo

El código siguiente ilustra la función 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
}

Vea también

Otros recursos

Referencia a la API del generador de perfiles de Visual Studio (Nativa)