Compartir a través de


Función PdhParseInstanceNameA (pdh.h)

Analiza los elementos de una cadena de instancia.

Sintaxis

PDH_FUNCTION PdhParseInstanceNameA(
  [in]      LPCSTR  szInstanceString,
  [out]     LPSTR   szInstanceName,
  [in, out] LPDWORD pcchInstanceNameLength,
  [out]     LPSTR   szParentName,
  [in, out] LPDWORD pcchParentNameLength,
  [out]     LPDWORD lpIndex
);

Parámetros

[in] szInstanceString

cadena terminada en nullque especifica la cadena de instancia que se va a analizar en componentes individuales. Esta cadena puede contener los siguientes formatos y es menor que MAX_PATH caracteres de longitud:

  • instancia
  • instance#index
  • parent/instance
  • parent/instance#index

[out] szInstanceName

Búfer asignado por el autor de la llamada que recibe el nombre de instancia nuloterminado. Establezca en NULL si pcchInstanceNameLength es cero.

[in, out] pcchInstanceNameLength

Tamaño del búfer de szInstanceName, 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.

[out] szParentName

Búfer asignado por el autor de la llamada que recibe el nullnombre terminado de la instancia primaria, si se especifica uno. Establezca en NULL si pcchParentNameLength es cero.

[in, out] pcchParentNameLength

Tamaño del búfer de szParentName, 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.

[out] lpIndex

Valor de índice de la instancia. Si una entrada de índice no está presente en la cadena, este valor es cero. Este parámetro puede ser null.

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

Código devuelto Descripción
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_MORE_DATA
Uno o ambos búferes de cadena son demasiado pequeños para contener los datos. Este valor devuelto se espera si el búfer de tamaño correspondiente 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_INSTANCE
La cadena de instancia tiene un formato incorrecto, supera MAX_PATH caracteres de longitud o no se puede analizar.

Observaciones

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

Nota

El encabezado pdh.h define PdhParseInstanceName 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 Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows XP [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de pdh.h
biblioteca de Pdh.lib
DLL de Pdh.dll

Consulte también

PdhMakeCounterPath