Compartilhar via


Função EnableThreadProfiling (winbase.h)

Habilita a criação de perfil de thread no thread especificado.

Sintaxe

DWORD EnableThreadProfiling(
  [in]  HANDLE  ThreadHandle,
  [in]  DWORD   Flags,
  [in]  DWORD64 HardwareCounters,
  [out] HANDLE  *PerformanceDataHandle
);

Parâmetros

[in] ThreadHandle

O identificador para o thread no qual você deseja habilitar a criação de perfil. Esse deve ser o thread atual.

[in] Flags

Para receber dados de criação de perfil de thread, como contagem de comutadores de contexto, defina esse parâmetro como THREAD_PROFILING_FLAG_DISPATCH; caso contrário, defina como 0.

[in] HardwareCounters

Para receber dados do contador de desempenho de hardware, defina esse parâmetro como uma máscara de bits que identifica os contadores de hardware a serem coletados. Você pode especificar até 16 contadores de desempenho. Cada bit está relacionado diretamente ao índice de contador de hardware baseado em zero para os contadores de desempenho de hardware que você configurou. Defina como zero se você não estiver coletando dados do contador de hardware. Se você definir um bit para um contador de hardware que não foi configurado, o valor do contador lido para esse contador será zero.

[out] PerformanceDataHandle

Um identificador opaco que você usa ao chamar as funções ReadThreadProfilingData e DisableThreadProfiling .

Retornar valor

Retorna ERROR_SUCCESS se a chamada for bem-sucedida; caso contrário, um código de erro do sistema (consulte Winerror.h).

Comentários

Você deve chamar a função DisableThreadProfiling antes de sair do thread.

Para criar o perfil de contadores de desempenho de hardware, você precisa de um driver para configurar os contadores. Os contadores de desempenho são configurados globalmente para o sistema, portanto, cada thread tem acesso aos mesmos dados do contador de hardware. Os contadores devem ser configurados antes de habilitar a criação de perfil. Para obter informações sobre como configurar contadores de desempenho de hardware, consulte a função KeSetHardwareCounterConfiguration no WDK (Kit de Driver do Windows).

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winbase.h (incluir Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

DisableThreadProfiling

QueryThreadProfiling

ReadThreadProfilingData