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 |
---|---|
|
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. |
|
O identificador do contador não é válido. |
|
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 |