Compartilhar via


Função PerfAddCounters (perflib.h)

Adiciona especificações de contador de desempenho à consulta especificada.

Sintaxe

ULONG PerfAddCounters(
  [in]      HANDLE                   hQuery,
  [in, out] PPERF_COUNTER_IDENTIFIER pCounters,
            DWORD                    cbCounters
);

Parâmetros

[in] hQuery

Um identificador para a consulta à qual você deseja adicionar especificações do contador de desempenho.

[in, out] pCounters

Um ponteiro para as especificações do contador de desempenho que você deseja adicionar.

cbCounters

O tamanho do buffer especificado pelo parâmetro pCounters , em bytes.

Valor retornado

Se a função for bem-sucedida, ela retornará ERROR_SUCCESS.

Se a função falhar, o valor retornado será um código de erro do sistema.

Comentários

O parâmetro pCounters deve apontar para uma sequência de blocos de PERF_COUNTER_IDENTIFIER . Cada bloco PERF_COUNTER_IDENTIFIER consiste em uma estrutura PERF_COUNTER_IDENTIFIER , opcionalmente seguida por uma cadeia de caracteres de nome de instância UTF-16LE terminada em nulo, seguida pelo preenchimento que torna o tamanho do bloco um múltiplo de 8 bytes.

Para cada bloco PERF_COUNTER_IDENTIFIER :

  • Defina o membro CounterSetGuid da estrutura PERF_COUNTER_IDENTIFIER como o identificador do contador definido para ser consultado.
  • Defina o membro Status da estrutura PERF_COUNTER_IDENTIFIER como 0.
  • Defina o membro Size da estrutura PERF_COUNTER_IDENTIFIER para o tamanho do bloco PERF_COUNTER_IDENTIFIER em bytes, incluindo a estrutura PERF_COUNTER_IDENTIFIER , o nome da instância e o preenchimento. O valor de Size deve ser um múltiplo de 8.
  • Defina o membro CounterId da estrutura PERF_COUNTER_IDENTIFIER para o identificador do contador que deve ser retornado pela consulta. Para retornar todos os contadores, defina CounterId como PERF_WILDCARD_COUNTER.
  • Defina o membro InstanceId da estrutura PERF_COUNTER_IDENTIFIER para o identificador da instância que deve ser retornado pela consulta. Se nenhuma filtragem deve ser feita com base no identificador de instância, defina InstanceId como PERF_WILDCARD_COUNTER.
  • Defina o membro Index da estrutura PERF_COUNTER_IDENTIFIER como 0.
  • Defina o membro Reservado da estrutura PERF_COUNTER_IDENTIFIER como 0.
  • Inclua o nome da instância imediatamente após a estrutura PERF_COUNTER_IDENTIFIER .
    • Se o conjunto de contadores for de instância única, não defina o nome da instância. Nesse caso, o valor do membro Size da estrutura PERF_COUNTER_IDENTIFIER deve ser o tamanho da estrutura PERF_COUNTER_IDENTIFIER .
    • Se o conjunto de contadores for de várias instâncias, você deverá definir o nome da instância. Se você não quiser filtrar as especificações do contador de desempenho com base no nome da instância, use PERF_WILDCARD_INSTANCE como o nome da instância.
PerfAddCounters tenta adicionar uma especificação de contador à consulta para cada bloco PERF_COUNTER_IDENTIFIER e atualiza o membro Status da estrutura PERF_COUNTER_IDENTIFIER em cada bloco com o resultado da tentativa.

Requisitos

   
Cliente mínimo com suporte Windows 10, versão 1607 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2016 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho perflib.h
Biblioteca AdvAPI32.lib
DLL AdvAPI32.dll

Confira também

PERF_COUNTER_IDENTIFIER

PerfDeleteCounters