Share via


Função PdhMakeCounterPathA (pdh.h)

Cria um caminho de contador completo usando os membros especificados na estrutura PDH_COUNTER_PATH_ELEMENTS .

Sintaxe

PDH_FUNCTION PdhMakeCounterPathA(
  [in]      PPDH_COUNTER_PATH_ELEMENTS_A pCounterPathElements,
  [out]     LPSTR                        szFullPathBuffer,
  [in, out] LPDWORD                      pcchBufferSize,
  [in]      DWORD                        dwFlags
);

Parâmetros

[in] pCounterPathElements

Uma estrutura de PDH_COUNTER_PATH_ELEMENTS que contém os membros usados para criar o caminho. Somente os membros szObjectName e szCounterName são necessários, os outros são opcionais.

Se o membro do nome da instância for NULL, o caminho não conterá uma referência de instância e os membros szParentInstance e dwInstanceIndex serão ignorados.

[out] szFullPathBuffer

Buffer alocado pelo chamador que recebe um caminho de contador encerrado em nulo. O comprimento máximo de um caminho de contador é PDH_MAX_COUNTER_PATH. Defina como NULL se pcchBufferSize for zero.

[in, out] pcchBufferSize

Tamanho do buffer szFullPathBuffer , em TCHARs. 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 usado. Se o tamanho especificado na entrada for maior que zero, mas menor que o tamanho necessário, você não deverá contar com o tamanho retornado para realocar o buffer.

[in] dwFlags

Formato dos valores do contador de entrada e saída. Você pode especificar um dos valores a seguir.

Valor Significado
PDH_PATH_WBEM_RESULT
Converte um caminho PDH para a classe WMI e o formato de nome da propriedade.
PDH_PATH_WBEM_INPUT
Converte a classe WMI e o nome da propriedade em um caminho PDH.
0
Retorna o caminho no formato PDH, por exemplo, \\computer\object(parent/instance#index)\counter.

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_MORE_DATA
O buffer szFullPathBuffer é muito pequeno para conter o nome do contador. Esse valor retornado será esperado se pcchBufferSize 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á contar com o tamanho retornado para realocar o buffer.
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.

Comentários

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

Observação

O cabeçalho pdh.h define PdhMakeCounterPath 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_PATH_ELEMENTS

PdhParseCounterPath