Função PdhExpandWildCardPathA (pdh.h)

Examina o computador ou arquivo de log especificado e retorna os caminhos de contador que correspondem ao caminho do contador fornecido que contém caracteres curinga.

Para usar identificadores para fontes de dados, use a função PdhExpandWildCardPathH .

Sintaxe

PDH_FUNCTION PdhExpandWildCardPathA(
  [in]      LPCSTR  szDataSource,
  [in]      LPCSTR  szWildCardPath,
  [out]     PZZSTR  mszExpandedPathList,
  [in, out] LPDWORD pcchPathListLength,
  [in]      DWORD   dwFlags
);

Parâmetros

[in] szDataSource

Cadeia de caracteres terminada em nulo que contém o nome de um arquivo de log. A função usa os objetos de desempenho e contadores definidos no arquivo de log para expandir o caminho especificado no parâmetro szWildCardPath .

Se FOR NULL, a função pesquisará o computador especificado em szWildCardPath.

[in] szWildCardPath

Cadeia de caracteres terminada em nulo que especifica o caminho do contador a ser expandido. O comprimento máximo de um caminho de contador é PDH_MAX_COUNTER_PATH.

Se o parâmetro szDataSource for NULL, a função pesquisará o computador especificado no caminho para correspondências. Se o caminho não especificar um computador, a função pesquisa o computador local.

[out] mszExpandedPathList

Buffer alocado pelo chamador que recebe uma lista de caminhos de contador terminados em nulo que correspondem à especificação curinga no szWildCardPath. A lista é encerrada por dois caracteres NULL . Defina como NULL se pcchPathListLength for zero.

[in, out] pcchPathListLength

Tamanho do buffer mszExpandedPathList , em TCHARs. Se zero na entrada e o objeto existirem, 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.

Nota Você deve adicionar um ao tamanho necessário no Windows XP.
 

[in] dwFlags

Sinalizadores que indicam quais caracteres curinga não expandir. Você pode especificar um ou mais sinalizadores.

Valor Significado
PDH_NOEXPANDCOUNTERS
Não expanda o nome do contador se o caminho contiver um caractere curinga para o nome do contador.
PDH_NOEXPANDINSTANCES
Não expanda o nome da instância se o caminho contiver um caractere curinga para a instância pai, o nome da instância ou o índice da instância.
PDH_REFRESHCOUNTERS
Atualize a lista de contadores.

Valor retornado

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.

Código de retorno Descrição
PDH_MORE_DATA
O buffer mszExpandedPathList não é grande o suficiente para conter a lista de caminhos. Esse valor retornado será esperado se pcchPathListLength 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.
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.
PDH_INVALID_PATH
O objeto especificado não contém uma instância .
PDH_MEMORY_ALLOCATION_FAILURE
Não é possível alocar memória para dar suporte a essa função.
PDH_CSTATUS_NO_OBJECT
Não é possível localizar o objeto especificado no computador ou no arquivo de log.

Comentários

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

PdhExpandWildCardPath difere de PdhExpandCounterPath das seguintes maneiras:

  1. Permite controlar quais caracteres curinga são expandidos.
  2. O conteúdo de um arquivo de log pode ser usado como a origem dos nomes dos contadores.
O formato geral do caminho do contador é o seguinte:

\computer\object(parent/instance#index)\counter

Os componentes pai, instância, índice e contador do caminho do contador podem conter um nome válido ou um caractere curinga. Os componentes de computador, pai, instância e índice não são necessários para todos os contadores.

Veja a seguir uma lista dos formatos possíveis:

  • \\computer\object(parent/instance#index)\counter
  • \\computer\object(parent/instance)\counter
  • \\computer\object(instance#index)\counter
  • \\computer\object(instance)\counter
  • \\computer\object\counter
  • \object(parent/instance#index)\counter
  • \object(parent/instance)\counter
  • \object(instance#index)\counter
  • \object(instance)\counter
  • \object\counter
Use um asterisco (*) como o caractere curinga, por exemplo, \object(*)\counter.

Se um caractere curinga for especificado no nome pai, todas as instâncias do objeto especificado que correspondem aos campos de instância e contador especificados serão retornadas. Por exemplo, \object(*/instance)\counter.

Se um caractere curinga for especificado no nome da instância, todas as instâncias do objeto e do objeto pai especificados serão retornadas se todos os nomes de instância correspondentes ao índice especificado corresponderem ao caractere curinga. Por exemplo, \object(parent/*)\counter. Se o objeto não contiver uma instância, ocorrerá um erro.

Se um caractere curinga for especificado no nome do contador, todos os contadores do objeto especificado serão retornados.

Há suporte para correspondências parciais de cadeia de caracteres de caminho do contador (por exemplo, "pro*").

Antes do Windows Vista: Não há suporte para correspondências curinga parciais.

Observação

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

Confira também

PdhEnumObjectItems

PdhEnumObjects

PdhExpandCounterPath

PdhExpandWildCardPathH