Função PdhEnumObjectsHA (pdh.h)
Retorna uma lista de objetos disponíveis no computador especificado ou no arquivo de log especificado.
Essa função é idêntica a PdhEnumObjects, exceto que ela dá suporte ao uso de identificadores para fontes de dados.
Sintaxe
PDH_FUNCTION PdhEnumObjectsHA(
[in] PDH_HLOG hDataSource,
[in] LPCSTR szMachineName,
[out] PZZSTR mszObjectList,
[in, out] LPDWORD pcchBufferSize,
[in] DWORD dwDetailLevel,
[in] BOOL bRefresh
);
Parâmetros
[in] hDataSource
Manipule para uma fonte de dados retornada pela função PdhBindInputDataSource .
[in] szMachineName
Cadeia de caracteres terminada em nulo que especifica o nome do computador usado para enumerar os objetos de desempenho.
Inclua as barras à esquerda no nome do computador, por exemplo, \computername.
Se szDataSource for NULL, você poderá definir szMachineName como NULL para especificar o computador local.
[out] mszObjectList
Buffer alocado pelo chamador que recebe a lista de nomes de objetos. Cada nome de objeto nessa lista é encerrado por um caractere nulo . A lista é encerrada com dois caracteres de terminador nulo. Defina como NULL se pcchBufferLength for zero.
[in, out] pcchBufferSize
Tamanho do buffer mszObjectList , 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 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.
Windows XP: Adicione um ao tamanho do buffer necessário.
[in] dwDetailLevel
Nível de detalhes dos itens de desempenho a serem retornados. Todos os itens do nível de detalhes especificado ou menos serão retornados (os níveis são listados em ordem crescente). Esse parâmetro pode usar um dos valores a seguir.
[in] bRefresh
Indica se a lista de objetos armazenados em cache deve ser atualizada automaticamente. Especifique um dos valores a seguir.
Se você chamar essa função duas vezes, uma vez para obter o tamanho da lista e uma segunda vez para obter a lista real, defina esse parâmetro como TRUE na primeira chamada e FALSE na segunda chamada. Se ambas as chamadas forem TRUE, a segunda chamada também poderá retornar PDH_MORE_DATA porque os dados do objeto podem ter sido alterados entre chamadas.
Valor | Significado |
---|---|
|
O cache de objetos é atualizado automaticamente antes que os objetos sejam retornados. |
|
Não atualize automaticamente o cache. |
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 |
---|---|
|
O buffer mszObjectList é muito pequeno para conter a lista de objetos. 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á depender do tamanho retornado para realocar o buffer. |
|
O computador especificado está offline ou indisponível. |
|
Não foi possível encontrar o objeto especificado. |
|
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 mszObjectList como NULL e pcchBufferLength como 0) e a segunda vez para obter os dados.
Observação
O cabeçalho pdh.h define PdhEnumObjectsH como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do 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 |