Compartilhar via


estrutura PERF_COUNTERSET_INFO (perflib.h)

Define informações sobre um conjunto de contadores que um provedor usa. A ferramenta CTRPP gera automaticamente essa estrutura com base no esquema especificado.

Sintaxe

typedef struct _PERF_COUNTERSET_INFO {
  GUID  CounterSetGuid;
  GUID  ProviderGuid;
  ULONG NumCounters;
  ULONG InstanceType;
} PERF_COUNTERSET_INFO, *PPERF_COUNTERSET_INFO;

Membros

CounterSetGuid

GUID que identifica exclusivamente o conjunto de contadores. O atributo guid do elemento counterSet contém o GUID.

ProviderGuid

GUID que identifica exclusivamente o provedor que dá suporte ao conjunto de contadores. O atributo providerGuid do elemento provider contém o GUID.

NumCounters

Número de contadores no conjunto de contadores. Consulte Observações.

InstanceType

Especifica se o conjunto de contadores permite várias instâncias, como processos e discos físicos, ou uma única instância, como memória.

Veja a seguir os possíveis tipos de instância.

Valor Significado
PERF_COUNTERSET_SINGLE_INSTANCE
O conjunto de contadores contém contadores de instância única, por exemplo, um contador que mede a memória física.
PERF_COUNTERSET_MULTI_INSTANCES
O conjunto de contadores contém vários contadores de instância, por exemplo, um contador que mede a E/S de disco média para um processo.
PERF_COUNTERSET_SINGLE_AGGREGATE
O conjunto de contadores contém contadores de instância única cujo valor agregado é obtido de uma ou mais fontes. Por exemplo, um contador nesse tipo de conjunto de contadores pode obter o número de leituras de cada um dos três discos rígidos no computador e somar os valores.
PERF_COUNTERSET_MULTI_AGGREGATE
O conjunto de contadores contém vários contadores de instâncias cujo valor agregado é obtido de todas as instâncias do contador. Por exemplo, um contador nesse tipo de conjunto de contadores pode obter o tempo total de execução do thread para todos os threads em um aplicativo multi-thread e somar seus valores.
PERF_COUNTERSET_SINGLE_AGGREGATE_HISTORY
A diferença entre esse tipo e PERF_COUNTERSET_SINGLE_AGGREGATE é que esse tipo de conjunto de contadores armazena todos os valores de contador durante o tempo de vida do aplicativo consumidor (o valor do contador é armazenado em cache além do tempo de vida do contador). Por exemplo, se um dos discos rígidos no exemplo de agregação única acima ficar indisponível, o total de bytes lidos por esse disco ainda estará disponível e será usado para calcular o valor agregado.
PERF_COUNTERSET_INSTANCE_AGGREGATE
Esse tipo é semelhante a PERF_COUNTERSET_MULTI_AGGREGATE, exceto que, em vez de agregar todos os dados de instância para uma instância agregada (_Total), ele agregará dados de contador de instâncias de mesmo nome.

Por exemplo, se vários processos de provedor contiverem instâncias chamadas IExplore, PERF_COUNTERSET_MULTIPLE e PERF_COUNTERSET_MULTI_AGGREGATE CounterSet mostrarão várias instâncias IExplore (IExplore, IExplore#1, IExplore#2 e assim por diante); no entanto, um tipo de instância PERF_COUNTERSET_INSTANCE_AGGREGATE publicará apenas uma instância IExplore com dados de contador agregados de todas as instâncias denominadas IExplore.

Windows Vista: Esse tipo não está disponível.

Comentários

O bloco de memória dessa estrutura também contém uma ou mais estruturas PERF_COUNTER_INFO . O membro NumCounter determina o número de estruturas PERF_COUNTER_INFO que seguem essa estrutura na memória.

Requisitos

   
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Cabeçalho perflib.h

Confira também

PERF_COUNTER_INFO

PerfSetCounterSetInfo