Função PdhGetCounterInfoA (pdh.h)

Recupera informações sobre um contador, como tamanho dos dados, tipo de contador, caminho e valores de dados fornecidos pelo usuário.

Sintaxe

PDH_FUNCTION PdhGetCounterInfoA(
  [in]      PDH_HCOUNTER        hCounter,
  [in]      BOOLEAN             bRetrieveExplainText,
  [in, out] LPDWORD             pdwBufferSize,
  [out]     PPDH_COUNTER_INFO_A lpBuffer
);

Parâmetros

[in] hCounter

Identificador do contador do qual você deseja recuperar informações. A função PdhAddCounter retorna esse identificador.

[in] bRetrieveExplainText

Determina se o texto explicativo é recuperado. Se você definir esse parâmetro como TRUE, o texto de explicação do contador será recuperado. Se você definir esse parâmetro como FALSE, o campo no buffer retornado será NULL.

[in, out] pdwBufferSize

Tamanho do buffer lpBuffer , em bytes. Se zero na entrada, a função retornará PDH_MORE_DATA e definirá esse parâmetro como o tamanho do buffer necessário. Se o buffer for maior que o tamanho necessário, a função definirá esse parâmetro como o tamanho real do buffer que foi usado. Se o tamanho especificado na entrada for maior que zero, mas menor que o tamanho necessário, você não deverá depender do tamanho retornado para realocar o buffer.

[out] lpBuffer

Buffer alocado pelo chamador que recebe uma estrutura PDH_COUNTER_INFO . A estrutura tem comprimento variável, pois os dados da cadeia de caracteres são acrescentados ao final da parte de formato fixo da estrutura. Isso é feito para que todos os dados sejam retornados em um único buffer alocado pelo chamador. Defina como NULL se pdwBufferSize for zero.

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 ou um código de erro PDH. Veja a seguir os valores possíveis.

Código de retorno Descrição
PDH_INVALID_ARGUMENT
Um parâmetro não é válido ou está formatado incorretamente. Por exemplo, em algumas versões, você poderá receber esse erro se o tamanho especificado na entrada for maior que zero, mas menor que o tamanho necessário.
PDH_INVALID_HANDLE
O identificador do contador não é válido.
PDH_MORE_DATA
O buffer lpBuffer é muito pequeno para conter as informações do contador. Esse valor retornado será esperado se pdwBufferSize for zero na entrada. Se o tamanho especificado na entrada for maior que zero, mas menor que o tamanho necessário, você não deverá depender do tamanho retornado para realocar o buffer.

Comentários

Você deve chamar essa função duas vezes, a primeira vez para obter o tamanho do buffer necessário (defina lpBuffer como NULL e pdwBufferSize como 0) e a segunda vez para obter os dados.

Observação

O cabeçalho pdh.h define PdhGetCounterInfo como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho pdh.h
Biblioteca Pdh.lib
DLL Pdh.dll

Confira também

PDH_COUNTER_INFO