Compartilhar via


estrutura PERF_OBJECT_TYPE (winperf.h)

Descreve informações de desempenho específicas do objeto, por exemplo, o número de instâncias do objeto e o número de contadores que o objeto define.

Sintaxe

typedef struct _PERF_OBJECT_TYPE {
  DWORD         TotalByteLength;
  DWORD         DefinitionLength;
  DWORD         HeaderLength;
  DWORD         ObjectNameTitleIndex;
#if ...
  DWORD         ObjectNameTitle;
#else
  LPWSTR        ObjectNameTitle;
#endif
  DWORD         ObjectHelpTitleIndex;
#if ...
  DWORD         ObjectHelpTitle;
#else
  LPWSTR        ObjectHelpTitle;
#endif
  DWORD         DetailLevel;
  DWORD         NumCounters;
  LONG          DefaultCounter;
  LONG          NumInstances;
  DWORD         CodePage;
  LARGE_INTEGER PerfTime;
  LARGE_INTEGER PerfFreq;
} PERF_OBJECT_TYPE, *PPERF_OBJECT_TYPE;

Membros

TotalByteLength

Tamanho dos dados específicos do objeto, em bytes. Esse membro é o deslocamento do início dessa estrutura para a próxima estrutura PERF_OBJECT_TYPE , se houver.

DefinitionLength

Tamanho dessa estrutura mais o tamanho de todos os
PERF_COUNTER_DEFINITION estruturas.

Se o objeto for um objeto de várias instâncias (o membro NumInstances não for zero), esse membro será o deslocamento do início dessa estrutura para o primeiro PERF_INSTANCE_DEFINITION estrutura. Caso contrário, esse valor será o deslocamento para o PERF_COUNTER_BLOCK.

HeaderLength

Tamanho dessa estrutura, em bytes. Esse membro é o deslocamento do início dessa estrutura para o primeiro PERF_COUNTER_DEFINITION estrutura.

ObjectNameTitleIndex

Indexe para o nome do objeto no banco de dados de título. Para obter detalhes sobre como usar o índice para recuperar o nome do objeto, consulte Recuperando nomes de contador e texto de ajuda.

Os provedores especificam o valor do índice em seu arquivo de inicialização. Para obter detalhes, consulte Adicionando nomes e descrições de contadores ao Registro.

ObjectNameTitle

Reservado.

ObjectHelpTitleIndex

Indexe o texto de ajuda do objeto no banco de dados de título. Para obter detalhes sobre como usar o índice para recuperar o texto de ajuda do objeto, consulte Recuperando nomes de contador e texto de ajuda.

Os provedores especificam o valor do índice em seu arquivo de inicialização. Para obter detalhes, consulte Adicionando nomes e descrições de contadores ao Registro.

ObjectHelpTitle

Reservado.

DetailLevel

Nível de detalhes. Os consumidores usam esse valor para controlar a complexidade da exibição. Esse valor é o nível mínimo de detalhes de todos os contadores de um determinado objeto. Esse membro pode ser um dos valores a seguir.

Nível de detalhes Significado
PERF_DETAIL_NOVICE
Os dados do contador são fornecidos para todos os usuários.
PERF_DETAIL_ADVANCED
Os dados do contador são fornecidos para usuários avançados.
PERF_DETAIL_EXPERT
Os dados do contador são fornecidos para usuários especialistas.
PERF_DETAIL_WIZARD
Os dados do contador são fornecidos para designers do sistema.

NumCounters

Número de blocos de PERF_COUNTER_DEFINITION retornados pelo objeto .

DefaultCounter

Indexe para o nome do contador no banco de dados de título do contador padrão cujas informações devem ser exibidas quando esse objeto for selecionado na ferramenta Desempenho. Esse membro pode ser –1 para indicar que não há nenhum padrão.

NumInstances

Número de instâncias de objeto para as quais os contadores estão sendo fornecidos. Se o objeto puder ter zero ou mais instâncias, mas não tiver nenhuma no momento, esse valor deverá ser zero. Se o objeto não puder ter várias instâncias, esse valor deverá ser PERF_NO_INSTANCES.

CodePage

Esse membro será zero se as cadeias de caracteres de instância forem cadeias de caracteres Unicode. Caso contrário, esse membro é o identificador de página de código dos nomes de instância. Você pode usar o valor de página de código ao chamar MultiByteToWideChar para converter a cadeia de caracteres em Unicode.

PerfTime

O provedor gerou o carimbo de data/hora que os consumidores usam ao calcular valores de contador. Por exemplo, esse pode ser o valor atual, em contagens, do contador de desempenho de alta resolução.

Os provedores precisarão fornecer esse valor se os tipos de contador de seus contadores incluírem o sinalizador PERF_OBJECT_TIMER . Caso contrário, os consumidores usarão o valor PerfTime de PERF_DATA_BLOCK.

PerfFreq

Valor de frequência gerado pelo provedor que os consumidores usam ao calcular valores de contador. Por exemplo, essa pode ser a frequência atual, em contagens por segundo, do contador de desempenho de alta resolução.

Os provedores precisarão fornecer esse valor se os tipos de contador de seus contadores incluírem o sinalizador PERF_OBJECT_TIMER . Caso contrário, os consumidores usarão o valor PerfFreq de PERF_DATA_BLOCK.

Comentários

Os provedores usam essa estrutura para fornecer dados de desempenho para objetos aos quais dão suporte. Os consumidores usam essa estrutura para consumir dados de desempenho para objetos que consultaram.

Essa estrutura é seguida por uma lista de estruturas PERF_COUNTER_DEFINITION , uma para cada contador definido para o objeto de desempenho. Para obter detalhes sobre o layout do bloco de dados de desempenho, consulte Formato de dados de desempenho.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho winperf.h (inclua Windows.h)

Confira também

PERF_COUNTER_DEFINITION

PERF_DATA_BLOCK

Formato de dados de desempenho