Compartilhar via


SuspendProfile

O SuspendProfile método incrementa o contador de suspender ou retomar para o nível de criação de perfil especificado.

PROFILE_COMMAND_STATUS PROFILERAPI SuspendProfile(
                       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

O valor inicial do contador suspender ou retomar é 0. Cada chamada para SuspendProfile adiciona 1 à contagem de suspender ou retomar; cada chamada para ResumeProfile subtrai 1.

Quando a contagem de suspender ou retomar for maior que 0, o estado de suspensão/retomada para o nível é desativado. Quando a contagem é menor ou igual a 0, o estado de suspensão/retomada está ativado.

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 o nível de thread informa para o segmento devem estar Diante.

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 SuspendProfile. Este exemplo assume que uma chamada anterior ao StartProfile foi feita para o processo ou segmento identificado por PROFILE_CURRENTID.

void ExerciseSuspendProfile()
{
    // The initial value of the Suspend/Resume counter is 0.
    // Each call to SuspendProfile adds 1 to the
    // Suspend/Resume count; each call
    // to ResumeProfile subtracts 1.
            
    // Variables used to print output
    HRESULT hResult;
    TCHAR tchBuffer[256];

    // Declare enumeration to hold result of call
    // to SuspendProfile
    PROFILE_COMMAND_STATUS profileResult;

    profileResult = SuspendProfile(
        PROFILE_GLOBALLEVEL,
        PROFILE_CURRENTID);

    // Format and print result.
    LPCTSTR pszFormat = TEXT("%s %d.\0");
    TCHAR* pszTxt = TEXT("SuspendProfile 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)