Compartir a través de


estructura PERF_INSTANCE_DEFINITION (winperf.h)

Describe una instancia de un objeto de rendimiento.

Sintaxis

typedef struct _PERF_INSTANCE_DEFINITION {
  DWORD ByteLength;
  DWORD ParentObjectTitleIndex;
  DWORD ParentObjectInstance;
  LONG  UniqueID;
  DWORD NameOffset;
  DWORD NameLength;
} PERF_INSTANCE_DEFINITION, *PPERF_INSTANCE_DEFINITION;

Miembros

ByteLength

Tamaño de esta estructura, incluido el nombre de instancia siguiente, en bytes. Este valor debe ser un múltiplo de 8 bytes.

ParentObjectTitleIndex

Índice del nombre del objeto primario en la base de datos de título. Por ejemplo, si el objeto es un subproceso, el objeto primario es un proceso o si el objeto es una unidad lógica, el elemento primario es una unidad física.

ParentObjectInstance

Posición de la instancia dentro del objeto primario asociado a esta instancia. La posición es de base cero.

UniqueID

Identificador único que puede usar para identificar la instancia en lugar de usar el nombre para identificar la instancia. Si no usa identificadores únicos para distinguir las instancias de contador, establezca este miembro en PERF_NO_UNIQUE_ID.

NameOffset

Desplazamiento desde el principio de esta estructura hasta el nombre Unicode de esta instancia.

NameLength

Longitud del nombre de instancia, incluido el terminador null, en bytes. Este miembro es cero si la instancia no tiene un nombre.

No incluya en la longitud ningún relleno que haya agregado al nombre de instancia para asegurarse de que ByteLength está alineado con un límite de 8 bytes.

Comentarios

El objeto contiene instancias si el miembro NumInstances de PERF_OBJECT_TYPE es mayor que cero. Use el miembro DefinitionLength de PERF_OBJECT_TYPE para buscar la primera instancia del objeto. Para más información, consulte Formato de datos de rendimiento.

Los consumidores deben usar el nombre de instancia principal, si se especifica, para crear un nombre de instancia completo que se usa para mostrar. La convención consiste en formar el nombre como elemento primario o secundario.

Los proveedores deben usar nombres de instancia únicos. Si no lo hace, dificulta que los consumidores calculen y muestren valores de rendimiento porque no pueden saber si la instancia actual hace referencia a la misma instancia que se ha consultado anteriormente (las instancias pueden venir y ir).

Los proveedores deben asignar espacio suficiente para el nombre de instancia para asegurarse de que ByteLength está alineado con un límite de 8 bytes.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado winperf.h (incluya Windows.h)

Consulte también

PERF_OBJECT_TYPE