Función PdhMakeCounterPathW (pdh.h)

Crea una ruta de acceso de contador completa utilizando los miembros especificados en la estructura PDH_COUNTER_PATH_ELEMENTS .

Sintaxis

PDH_FUNCTION PdhMakeCounterPathW(
  [in]      PPDH_COUNTER_PATH_ELEMENTS_W pCounterPathElements,
  [out]     LPWSTR                       szFullPathBuffer,
  [in, out] LPDWORD                      pcchBufferSize,
  [in]      DWORD                        dwFlags
);

Parámetros

[in] pCounterPathElements

Estructura PDH_COUNTER_PATH_ELEMENTS que contiene los miembros usados para crear la ruta de acceso. Solo se requieren los miembros szObjectName y szCounterName , los demás son opcionales.

Si el miembro de nombre de instancia es NULL, la ruta de acceso no contendrá una referencia de instancia y se omitirán los miembros szParentInstance y dwInstanceIndex .

[out] szFullPathBuffer

Búfer asignado por el autor de la llamada que recibe una ruta de acceso de contador terminada en null. La longitud máxima de una ruta de acceso de contador es PDH_MAX_COUNTER_PATH. Se establece en NULL si pcchBufferSize es cero.

[in, out] pcchBufferSize

Tamaño del búfer szFullPathBuffer , en TCHAR. Si es cero en la entrada, 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.

[in] dwFlags

Formato de los valores del contador de entrada y salida. Puede especificar uno de los valores siguientes.

Valor Significado
PDH_PATH_WBEM_RESULT
Convierte una ruta de acceso PDH al formato de nombre de propiedad y clase WMI.
PDH_PATH_WBEM_INPUT
Convierte la clase WMI y el nombre de propiedad en una ruta de acceso PDH.
0
Devuelve la ruta de acceso en el formato PDH, por ejemplo, \\computer\object(parent/instance#index)\counter.

Valor devuelto

Si la función se realiza 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. A continuación se muestran los valores posibles.

Código devuelto Descripción
PDH_MORE_DATA
El búfer szFullPathBuffer es demasiado pequeño para contener el nombre del contador. Este valor devuelto se espera si pcchBufferSize 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 o tiene un formato incorrecto. 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.

Comentarios

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

Nota:

El encabezado pdh.h define PdhMakeCounterPath 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 neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o 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

PDH_COUNTER_PATH_ELEMENTS

PdhParseCounterPath