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
}