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 |