Compartir a través de


Función PerfAddCounters (perflib.h)

Agrega especificaciones del contador de rendimiento a la consulta especificada.

Sintaxis

ULONG PerfAddCounters(
  [in]      HANDLE                   hQuery,
  [in, out] PPERF_COUNTER_IDENTIFIER pCounters,
            DWORD                    cbCounters
);

Parámetros

[in] hQuery

Identificador de la consulta a la que desea agregar especificaciones del contador de rendimiento.

[in, out] pCounters

Puntero a las especificaciones del contador de rendimiento que desea agregar.

cbCounters

Tamaño del búfer que especifica el parámetro pCounters , en bytes.

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.

Comentarios

El parámetro pCounters debe apuntar a una secuencia de bloques de PERF_COUNTER_IDENTIFIER . Cada bloque de PERF_COUNTER_IDENTIFIER consta de una estructura de PERF_COUNTER_IDENTIFIER , seguida opcionalmente de una cadena de nombre de instancia UTF-16LE terminada en null, seguida de relleno que hace que el tamaño del bloque sea un múltiplo de 8 bytes.

Para cada bloque de PERF_COUNTER_IDENTIFIER :

  • Establezca el miembro CounterSetGuid de la estructura PERF_COUNTER_IDENTIFIER en el identificador del conjunto de contadores que se va a consultar.
  • Establezca el miembro Status de la estructura PERF_COUNTER_IDENTIFIER en 0.
  • Establezca el miembro Size de la estructura de PERF_COUNTER_IDENTIFIER en el tamaño del bloque de PERF_COUNTER_IDENTIFIER en bytes, incluida la estructura de PERF_COUNTER_IDENTIFIER , el nombre de instancia y el relleno. El valor de Size debe ser un múltiplo de 8.
  • Establezca el miembro CounterId de la estructura PERF_COUNTER_IDENTIFIER en el identificador del contador que debe devolver la consulta. Para devolver todos los contadores, establezca CounterIden PERF_WILDCARD_COUNTER.
  • Establezca el miembro InstanceId de la estructura PERF_COUNTER_IDENTIFIER en el identificador de la instancia que debe devolver la consulta. Si no se debe realizar ningún filtrado en función del identificador de instancia, establezca InstanceId en PERF_WILDCARD_COUNTER.
  • Establezca el miembro Index de la estructura PERF_COUNTER_IDENTIFIER en 0.
  • Establezca el miembro Reservado de la estructura PERF_COUNTER_IDENTIFIER en 0.
  • Incluya el nombre de instancia inmediatamente después de la estructura PERF_COUNTER_IDENTIFIER .
    • Si el conjunto de contadores es de instancia única, no establezca el nombre de la instancia. En este caso, el valor del miembro Size de la estructura PERF_COUNTER_IDENTIFIER debe ser el tamaño de la estructura PERF_COUNTER_IDENTIFIER .
    • Si el conjunto de contadores es de varias instancias, debe establecer el nombre de la instancia. Si no desea filtrar las especificaciones del contador de rendimiento en función del nombre de instancia, use PERF_WILDCARD_INSTANCE como nombre de instancia.
PerfAddCounters intenta agregar una especificación de contador a la consulta de cada bloque PERF_COUNTER_IDENTIFIER y actualiza el miembro Status de la estructura PERF_COUNTER_IDENTIFIER en cada bloque con el resultado del intento.

Requisitos

   
Cliente mínimo compatible Windows 10, versión 1607 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2016 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado perflib.h
Library AdvAPI32.lib
Archivo DLL AdvAPI32.dll

Consulte también

PERF_COUNTER_IDENTIFIER

PerfDeleteCounters