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.
[in] dwFlags
Sinalizadores que indicam quais caracteres curinga não expandir. Você pode especificar um ou mais sinalizadores.
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 |
---|---|
|
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. |
|
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. |
|
O objeto especificado não contém uma instância . |
|
Não é possível alocar memória para dar suporte a essa função. |
|
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:
- Permite controlar quais caracteres curinga são expandidos.
- O conteúdo de um arquivo de log pode ser usado como a origem dos nomes dos contadores.
\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
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 |