Função PdhLookupPerfNameByIndexA (pdh.h)
Retorna o nome do objeto de desempenho ou o nome do contador correspondente ao índice especificado.
Sintaxe
PDH_FUNCTION PdhLookupPerfNameByIndexA(
[in] LPCSTR szMachineName,
[in] DWORD dwNameIndex,
[out] LPSTR szNameBuffer,
[in, out] LPDWORD pcchNameBufferSize
);
Parâmetros
[in] szMachineName
Cadeia de caracteres terminada em nulo que especifica o nome do computador em que o objeto ou contador de desempenho especificado está localizado. O nome do computador pode ser especificado pelo nome DNS ou pelo endereço IP. Se NULL, a função usará o computador local.
[in] dwNameIndex
Índice do objeto ou contador de desempenho.
[out] szNameBuffer
Buffer alocado pelo chamador que recebe o nome encerrado em nulo do objeto ou contador de desempenho. Defina como NULL se pcchNameBufferSize for zero.
[in, out] pcchNameBufferSize
Tamanho do buffer szNameBuffer , 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 valores possíveis.
Código de retorno | Descrição |
---|---|
|
O buffer szNameBuffer não é grande o suficiente para conter o nome do contador. Esse valor retornado será esperado se pcchNameBufferSize 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. |
|
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 szNameBuffer como NULL e pcchNameBufferSize como 0) e a segunda vez para obter os dados.
Windows XP: Você deve especificar um buffer e um tamanho de buffer. A função define pcchNameBufferSize como o tamanho necessário ou o tamanho do buffer usado. Se o buffer for muito pequeno, a função retornará PDH_INSUFFICIENT_BUFFER em vez de PDH_MORE_DATA. O tamanho máximo da cadeia de caracteres em bytes é PDH_MAX_COUNTER_NAME * sizeof(TCHAR).
O valor de índice que você especificar deve corresponder a um dos valores de índice associados aos objetos ou contadores que foram carregados no computador. Os pares de valor de índice/nome são armazenados no valor do Registro de Contadores no local do registro a seguir.
HKEY_LOCAL_MACHINE \SOFTWARE \Microsoft \Windows NT \CurrentVersion \Perflib Last Counter = highest counter index Last Help = highest help index \009 Counters = 2 System 4 Memory... Help = 3 The System Object Type... \supported language, other than English Counters = ... Help = ...
Observação
O cabeçalho pdh.h define PdhLookupPerfNameByIndex 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
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 |