Compartilhar via


Função PdhGetDefaultPerfObjectHA (pdh.h)

Recupera o nome do objeto padrão. Esse nome pode ser usado para definir a seleção de objeto inicial na caixa de diálogo Procurar Contador.

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

Sintaxe

PDH_FUNCTION PdhGetDefaultPerfObjectHA(
  [in]      PDH_HLOG hDataSource,
  [in]      LPCSTR   szMachineName,
  [out]     LPSTR    szDefaultObjectName,
  [in, out] LPDWORD  pcchBufferSize
);

Parâmetros

[in] hDataSource

Deve ser NULL.

Se você especificar um identificador de arquivo de log, szDefaultObjectName será uma cadeia de caracteres nula.

[in] szMachineName

cadeia de caracteres terminada pornulo que especifica o nome do computador usado para verificar o nome do objeto. Se NULL, o computador local será usado para verificar o nome.

[out] szDefaultObjectName

Buffer alocado pelo chamador que recebe o nome de objeto padrão nuloterminado. Defina como NULL se pcchBufferSize for zero.

Observe que o PDH sempre retorna o Processador para o nome do objeto padrão.

[in, out] pcchBufferSize

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

Valor de retorno

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 szDefaultObjectName é muito pequeno para conter o nome do objeto. 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 necessário 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.
PDH_MEMORY_ALLOCATION_FAILURE
Não é possível alocar memória para concluir a função.
PDH_CSTATUS_NO_MACHINE
O computador especificado está offline ou indisponível.
PDH_CSTATUS_NO_COUNTERNAME
O nome do objeto padrão não pode ser lido ou encontrado.

Observações

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

Nota

O cabeçalho pdh.h define PdhGetDefaultPerfObjectH 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. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2003 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho pdh.h
biblioteca Pdh.lib
de DLL Pdh.dll

Consulte também

PdhBindInputDataSource

PdhBrowseCountersH

PdhGetDefaultPerfCounterH