Compartilhar via


Função PerfEnumerateCounterSetInstances (perflib.h)

Obtém os nomes e identificadores das instâncias ativas de um contador definido no

sistema especificado.

Sintaxe

ULONG PerfEnumerateCounterSetInstances(
  [in, optional]  LPCWSTR               szMachine,
  [in]            LPCGUID               pCounterSetId,
  [out, optional] PPERF_INSTANCE_HEADER pInstances,
                  DWORD                 cbInstances,
  [out]           LPDWORD               pcbInstancesActual
);

Parâmetros

[in, optional] szMachine

O nome do computador para o qual obter as informações sobre as instâncias ativas do conjunto de contadores especificado pelo parâmetro pCounterSet . Se FOR NULL, a função recuperará informações sobre as instâncias ativas do conjunto de contadores especificado para o computador local.

[in] pCounterSetId

O identificador de conjunto de contadores do conjunto de contadores para o qual você deseja obter as informações sobre as instâncias ativas.

[out, optional] pInstances

Ponteiro para um buffer grande o suficiente para receber a quantidade de dados especificada pelo parâmetro cbInstances . Talvez

NULL se cbInstances for 0.

cbInstances

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

[out] pcbInstancesActual

O tamanho do buffer realmente necessário para obter as informações sobre as instâncias ativas. O significado depende do valor que a função

Retorna.

Valor retornado da função Significado de pcbInstancesActual
ERROR_SUCCESS O número de

bytes de informações sobre as instâncias ativas do conjunto de contadores especificado que a função armazenou no buffer especificado por pInstances .

ERROR_NOT_ENOUGH_MEMORY O

tamanho do buffer necessário para armazenar as informações sobre as instâncias ativas do contador definido no computador especificado, em bytes. Ampliar o buffer para o necessário

dimensione e chame a função novamente.

Outro O valor é indefinido e não deve ser usado.

Retornar valor

Código de retorno Descrição
ERROR_SUCCESS
A função armazenou com êxito todas as informações sobre as instâncias ativas do contador definido no buffer especificado por pInstances . O valor para o qual pcbInstancesActual aponta indica a quantidade de informações realmente armazenadas no buffer, em bytes.
ERROR_NOT_ENOUGH_MEMORY
O buffer especificado por pInstances não era grande o suficiente para armazenar todas as informações sobre as instâncias ativas do conjunto de contadores. O valor para o qual pcbInstancesActual aponta indica o tamanho do buffer necessário para armazenar todas as informações. Ampliar o buffer para o necessário

dimensione e chame a função novamente.

 

Para outros tipos de falhas, o valor retornado é um código de erro do sistema.

Comentários

As informações sobre as instâncias ativas do conjunto de contadores especificado são gravadas no buffer que pInstances especifica como uma sequência de blocos de PERF_INSTANCE_HEADER . O tamanho em bytes de

a sequência de blocos é gravada em pcbInstancesActual. Cada bloco PERF_INSTANCE_HEADER consiste

de uma estrutura PERF_INSTANCE_HEADER , imediatamente seguida por um UTF-16LE encerrado em nulo

nome da instância, seguido pelo preenchimento para que o tamanho do

PERF_INSTANCE_HEADER bloco é um múltiplo de 8 bytes.

Requisitos

Requisito Valor
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_INSTANCE_HEADER

PerfEnumerateCounterSet