Función PdhExpandWildCardPathA (pdh.h)

Examina el equipo o el archivo de registro especificados y devuelve esas rutas de acceso de contador que coinciden con la ruta de acceso del contador especificada que contiene caracteres comodín.

Para usar identificadores para orígenes de datos, use la función PdhExpandWildCardPathH .

Sintaxis

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

Parámetros

[in] szDataSource

Cadena terminada en null que contiene el nombre de un archivo de registro. La función usa los objetos de rendimiento y los contadores definidos en el archivo de registro para expandir la ruta de acceso especificada en el parámetro szWildCardPath .

Si es NULL, la función busca en el equipo especificado en szWildCardPath.

[in] szWildCardPath

Cadena terminada en NULL que especifica la ruta de acceso del contador que se va a expandir. La longitud máxima de una ruta de acceso de contador es PDH_MAX_COUNTER_PATH.

Si el parámetro szDataSource es NULL, la función busca coincidencias en el equipo especificado en la ruta de acceso. Si la ruta de acceso no especifica un equipo, la función busca en el equipo local.

[out] mszExpandedPathList

Búfer asignado por el autor de la llamada que recibe una lista de rutas de acceso de contador terminadas en null que coinciden con la especificación de caracteres comodín en szWildCardPath. La lista finaliza con dos caracteres NULL . Se establece en NULL si pcchPathListLength es cero.

[in, out] pcchPathListLength

Tamaño del búfer mszExpandedPathList , en TCHAR. Si hay cero en la entrada y el objeto, la función devuelve PDH_MORE_DATA y establece este parámetro en el tamaño de búfer necesario. Si el búfer es mayor que el tamaño necesario, la función establece este parámetro en el tamaño real del búfer que se usó. Si el tamaño especificado en la entrada es mayor que cero pero menor que el tamaño necesario, no debe confiar en el tamaño devuelto para reasignar el búfer.

Nota Debes agregar uno al tamaño necesario en Windows XP.
 

[in] dwFlags

Marcas que indican qué caracteres comodín no se van a expandir. Puede especificar una o varias marcas.

Valor Significado
PDH_NOEXPANDCOUNTERS
No expanda el nombre del contador si la ruta de acceso contiene un carácter comodín para el nombre del contador.
PDH_NOEXPANDINSTANCES
No expanda el nombre de instancia si la ruta de acceso contiene un carácter comodín para la instancia primaria, el nombre de instancia o el índice de instancia.
PDH_REFRESHCOUNTERS
Actualice la lista de contadores.

Valor devuelto

Si la función se ejecuta correctamente, devuelve ERROR_SUCCESS.

Si se produce un error en la función, el valor devuelto es un código de error del sistema o un código de error PDH.

Código devuelto Descripción
PDH_MORE_DATA
El búfer mszExpandedPathList no es lo suficientemente grande como para contener la lista de rutas de acceso. Este valor devuelto se espera si pcchPathListLength es cero en la entrada. Si el tamaño especificado en la entrada es mayor que cero pero menor que el tamaño necesario, no debe confiar en el tamaño devuelto para reasignar el búfer.
PDH_INVALID_ARGUMENT
Un parámetro no es válido. Por ejemplo, en algunas versiones podría recibir este error si el tamaño especificado en la entrada es mayor que cero, pero menor que el tamaño necesario.
PDH_INVALID_PATH
El objeto especificado no contiene una instancia de .
PDH_MEMORY_ALLOCATION_FAILURE
No se puede asignar memoria para admitir esta función.
PDH_CSTATUS_NO_OBJECT
No se puede encontrar el objeto especificado en el equipo o en el archivo de registro.

Comentarios

Debe llamar a esta función dos veces, la primera vez que obtenga el tamaño de búfer necesario (establezca mszExpandedPathList en NULL y pcchPathListLength en 0) y la segunda vez para obtener los datos.

PdhExpandWildCardPath difiere de PdhExpandCounterPath de las siguientes maneras:

  1. Permite controlar qué caracteres comodín se expanden.
  2. El contenido de un archivo de registro se puede usar como origen de nombres de contador.
El formato de ruta de acceso de contador general es el siguiente:

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

Los componentes primarios, de instancia, índice y contador de la ruta de acceso del contador pueden contener un nombre válido o un carácter comodín. Los componentes de equipo, primario, instancia e índice no son necesarios para todos los contadores.

A continuación se muestra una lista de los posibles formatos:

  • \\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 un asterisco (*) como carácter comodín, por ejemplo, \object(*)\counter.

Si se especifica un carácter comodín en el nombre primario, se devolverán todas las instancias del objeto especificado que coincidan con los campos de instancia y contador especificados. Por ejemplo, \object(*/instance)\counter.

Si se especifica un carácter comodín en el nombre de instancia, se devolverán todas las instancias del objeto y el objeto primario especificados si todos los nombres de instancia correspondientes al índice especificado coinciden con el carácter comodín. Por ejemplo, \object(parent/*)\counter. Si el objeto no contiene una instancia, se produce un error.

Si se especifica un carácter comodín en el nombre del contador, se devuelven todos los contadores del objeto especificado.

Se admiten coincidencias de cadena de ruta de acceso de contador parcial (por ejemplo, "pro*").

Antes de Windows Vista: No se admiten coincidencias de caracteres comodín parciales.

Nota:

El encabezado pdh.h define PdhExpandWildCardPath como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

   
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado pdh.h
Library Pdh.lib
Archivo DLL Pdh.dll

Consulte también

PdhEnumObjectItems

PdhEnumObjects

PdhExpandCounterPath

PdhExpandWildCardPathH