Compartilhar via


StopProfile

O StopProfile função define o contador para 0 (desativado) para o nível de criação de perfil especificado.

PROFILE_COMMAND_STATUS PROFILERAPI StopProfile(
                       PROFILE_CONTROL_LEVEL Level, 
                       unsigned int dwId);

Parâmetros

Level

Indica o nível de perfil ao qual o desempenho pode ser aplicada a coleta de dados. O seguinte PROFILE_CONTROL_LEVEL enumeradores podem ser usados para indicar um dos três níveis de coleta de dados para que o desempenho pode ser aplicada:

Enumerador

Descrição

PROFILE_GLOBALLEVEL

Configuração de nível global afeta todos os processos e threads em que a criação de perfil executar.

PROFILE_PROCESSLEVEL

Configuração de nível de processo afeta todos os segmentos que fazem parte do processo especificado.

PROFILE_THREADLEVEL

Definindo o perfil de configuração do nível de thread afeta o segmento especificado.

dwId

O identificador de processo ou segmento gerado pelo sistema.

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

PROFILE_ERROR_ID_NOEXIST

A identificação de elemento de criação de perfil não existe.

PROFILE_ERROR_LEVEL_NOEXIST

A criação de perfil especificado não existe.

PROFILE_ERROR_MODE_NEVER

O modo de criação de perfil foi definido como nunca quando a função foi chamada.

PROFILE_ERROR_NOT_YET_IMPLEMENTED

A criação de perfil chamada de função, criação de perfil nível ou combinação de chamada e o nível ainda não está implementada.

PROFILE_OK

A chamada foi bem-sucedida.

Comentários

StartProfile e StopProfile controlam o estado de início/fim para o nível de profiling. Iniciar/parar o valor padrão é 1. O valor inicial pode ser alterado no registro. Cada chamada para StartProfile define Start/Stop como 1; cada chamada para StopProfile define como 0.

Quando o Start/Stop for maior que 0, o estado de iniciar/parar para o nível está ativado. Quando for menor ou igual a 0, o estado de iniciar/parar é desativado.

Quando o estado de Start/Stop e o estado de suspensão/retomada estão ambos ativados, o estado de perfil para o nível está ativado. Para um segmento a ser perfilado, o processo global, e estados de nível de thread para o segmento devem estar ativado.

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 exemplo a seguir ilustra o método StopProfile. O exemplo supõe que uma chamada ao método StartProfile foi feita para o mesmo segmento ou processo identificado por PROFILE_CURRENTID.

void ExerciseStopProfile()
{
    // StartProfile and StopProfile control the 
    // Start/Stop state for the profiling level. 
    // The default initial value of Start/Stop is 1. 
    // The initial value can be changed in the registry. 
    // Each call to StartProfile sets Start/Stop to 1; 
    // each call to StopProfile sets it to 0. 

    // Variables used to print output.
    HRESULT hResult;
    TCHAR tchBuffer[256];

    // Declare enumeration to hold result of call
    // to StopProfile.
    PROFILE_COMMAND_STATUS profileResult;

    profileResult = StopProfile(
        PROFILE_THREADLEVEL,
        PROFILE_CURRENTID);

    // Format and print result.
    LPCTSTR pszFormat = TEXT("%s %d.\0");
    TCHAR* pszTxt = TEXT("StopProfile returned");
    hResult = StringCchPrintf(tchBuffer, 256, pszFormat, 
        pszTxt, profileResult);

#ifdef DEBUG
    OutputDebugString(tchBuffer);
#endif
}

Consulte também

Outros recursos

Profiler Referência API do Visual Studio (nativos)