Compartilhar via


MarkProfile

The MarkProfile método insere uma marca de analisar no arquivo Vsp. Criação de perfil para o thread contendo o MarkProfile função deve ser ativado 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 que 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 retornado pode ser uma das seguintes opções:

Enumerador

Descrição

MARK_ERROR_MARKER_RESERVED

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

MARK_ERROR_MODE_NEVER

O modo de criação de perfil foi conjunto nunca quando a função foi chamado.A marca e comentário não são registrados.

MARK_ERROR_MODE_OFF

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

MARK_ERROR_NO_SUPPORT

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

MARK_ERROR_OUTOFMEMORY

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

MARK_TEXTTOOLONG

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

MARK_OK

MARK_OK é retornada para indicar êxito.

Comentários

O valor de marca é inserido no arquivo de VSP cada vez que o código será executado se o thread contendo a função MarkProfile está sendo perfilada.Você pode telefonar MarkProfile várias vezes.

Marcas de analisar são global em escopo.Por exemplo, uma marca de analisar inserida em um thread pode ser usada para marcar o início ou participante de um segmento de dados em qualquer thread no arquivo Vsp.

O estado de analisar para o thread que contém a marca de função de analisar 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 importante:

Método MarkProfile deve ser usado com a instrumentação criação de perfil somente.

Equivalente do NET Framework

Microsoft.VisualStudio.criador de perfil.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

(Nativa) de referência do API criador de perfil do Visual Studio