Share via


Função PerfSetCounterRefValue (perflib.h)

Atualizações o valor de um contador cujo valor é um ponteiro para os dados reais. Os provedores usam essa função.

Sintaxe

ULONG PerfSetCounterRefValue(
  [in] HANDLE                    Provider,
  [in] PPERF_COUNTERSET_INSTANCE Instance,
  [in] ULONG                     CounterId,
  [in] PVOID                     Address
);

Parâmetros

[in] Provider

O identificador do provedor. Use a variável de identificador que a ferramenta CTRPP gerou para você. Para o nome da variável, consulte o atributo symbol do elemento provider .

Windows Vista: A função PerfStartProvider retorna o identificador.

[in] Instance

Uma estrutura PERF_COUNTERSET_INSTANCE que contém a instância do conjunto de contadores. A função PerfCreateInstance retorna esse ponteiro.

[in] CounterId

Identificador que identifica exclusivamente o contador a ser atualizado no bloco de instância. O identificador é definido no atributo id do elemento counter e deve corresponder ao membro CounterId de uma das estruturas PERF_COUNTER_INFO no bloco de instância. Use a constante de ID do contador que a ferramenta CTRPP gerou para você. Para o nome da constante, consulte o atributo de símbolo do elemento counter .

Windows Vista: A constante de ID do contador não está disponível.

[in] Address

Ponteiro para os dados reais do contador.

Se FOR NULL, o consumidor receberá ERROR_NO_DATA.

Para indicar que os dados do contador são acessados por referência, a declaração de contador no manifesto deve incluir um elemento counterAttribute cujo atributo name está definido como "reference".

Retornar valor

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

Essa é uma função de conveniência para especificar uma referência aos dados brutos do contador. Para atualizar a referência aos dados brutos do contador por conta própria, use o membro Offset da estrutura PERF_COUNTER_INFO para acessar o valor do contador para um contador específico. O membro Attrib deve incluir o sinalizador PERF_ATTRIB_BY_REFERENCE. O bloco de estrutura PERF_COUNTERSET_INSTANCE contém uma ou mais estruturas de informações de contador.

Dependendo do tipo de contador, o ponteiro deve referenciar um inteiro sem sinal de 4 bytes ou 8 bytes. Ao coletar os dados do contador, PERFLIB desreferencia o ponteiro e retorna os dados reais.

Requisitos

Requisito Valor
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]
Plataforma de Destino Windows
Cabeçalho perflib.h
Biblioteca Advapi32.lib
DLL Advapi32.dll

Confira também

PerfSetULongCounterValue

PerfSetULongLongCounterValue