Share via


Função PdhEnumMachinesHA (pdh.h)

Retorna uma lista dos nomes de computador associados a contadores em um arquivo de log. Os nomes de computador foram especificados ao adicionar contadores à consulta ou ao chamar a função PdhConnectMachine . Os computadores listados incluem aqueles que estão atualmente conectados e online, além daqueles que estão offline ou que não retornam dados de desempenho.

Essa função é idêntica à função PdhEnumMachines , exceto que dá suporte ao uso de identificadores para fontes de dados.

Sintaxe

PDH_FUNCTION PdhEnumMachinesHA(
  [in]      PDH_HLOG hDataSource,
  [out]     PZZSTR   mszMachineList,
  [in, out] LPDWORD  pcchBufferSize
);

Parâmetros

[in] hDataSource

Manipule para uma fonte de dados retornada pela função PdhBindInputDataSource .

[out] mszMachineList

Buffer alocado pelo chamador para receber a lista de cadeias de caracteres terminadas em nulo que contêm os nomes do computador. A lista é encerrada com dois caracteres de terminador nulo. Defina como NULL se pcchBufferLength for zero.

[in, out] pcchBufferSize

Tamanho do buffer mszMachineNameList , 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.

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 mszMachineNameList é muito pequeno para conter todos os dados. Esse valor retornado será esperado se pcchBufferLength 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. 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 mszMachineNameList como NULL e pcchBufferLength como 0) e a segunda vez para obter os dados.

Observação

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

PdhBindInputDataSource

PdhConnectMachine