Compartilhar via


MarkProfile

O MarkProfile método insere uma marca de perfil no arquivo. vsp. Criação de perfil para o segmento que contém o MarkProfile função deve estar Diante para a marca a ser inserido.

PROFILE_COMMAND_STATUS PROFILERAPI MarkProfile( long lMarker );

Parâmetros

lMarker

O marcador de inserir. O marcador deve ser maior ou igual a 0 (zero).

Valor de Propriedade/Valor Retornado

A função indica sucesso ou fracasso usando PROFILE_COMMAND_STATUS enumeração. O valor de retorno pode ser um destes procedimentos:

Enumerador

Descrição

MARK_ERROR_MARKER_RESERVED

O parâmetro é menor ou igual a 0. Esses valores são reservados. A marca e o comentário não são registradas.

MARK_ERROR_MODE_NEVER

O modo de criação de perfil foi definido como nunca quando a função foi chamada. A marca e o comentário não são registradas.

MARK_ERROR_MODE_OFF

O modo de criação de perfil foi definido para desativado quando a função foi chamada. A marca e o comentário não são registradas.

MARK_ERROR_NO_SUPPORT

Não há suporte para marcar neste contexto. A marca e o comentário não são registradas.

MARK_ERROR_OUTOFMEMORY

Não havia memória disponível para registrar o evento. A marca e o comentário não são registradas.

MARK_TEXTTOOLONG

A seqüência de caracteres excede o máximo de 256 caracteres. A seqüência de caracteres de comentário é truncada e a marca e comentário são registradas.

MARK_OK

MARK_OK é retornado para indicar êxito.

Comentários

O valor de marca é inserido no arquivo. vsp cada vez que o código será executado se o segmento que contém a função MarkProfile está sendo perfilado. Você pode chamar MarkProfile várias vezes.

Marcas de perfil são globais em escopo. Por exemplo, uma marca de perfil inserida em um thread pode ser usada para marcar o início ou fim de um segmento de dados em qualquer segmento no arquivo. vsp.

O estado de perfil para o segmento que contém a função de perfil da marca deve estar em quando marcas e comentários inseridos com o comando marcar ou com funções de API (CommentMarkAtProfile, CommentMarkProfile ou MarkProfile).

Observação importanteImportante

O método de MarkProfile deve ser usado com a instrumentação profiling somente.

Equivalente do NET Framework

Microsoft.VisualStudio.Profiler.dll

Informações de função

Cabeçalho: Declarado em VSPerf.h

Biblioteca de importação: VSPerf.lib

Exemplo

O código a seguir ilustra a função 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
}

Consulte também

Outros recursos

Profiler Referência API do Visual Studio (nativos)