Share via


PERF_OBJECT_TYPE

This structure describes object-specific performance information. This structure is followed by a list of PERF_COUNTER_DEFINITION structures, one for each counter defined for the type of object.

typedef struct _PERF_OBJECT_TYPE { 
  DWORD TotalByteLength; 
  DWORD DefinitionLength; 
  DWORD HeaderLength; 
  DWORD ObjectNameTitleIndex; 
  LPWSTR ObjectNameTitle; 
  DWORD ObjectHelpTitleIndex; 
  LPWSTR ObjectHelpTitle; 
  DWORD DetailLevel; 
  DWORD NumCounters; 
  DWORD DefaultCounter; 
  DWORD NumInstances; 
  DWORD CodePage; 
  LARGE_INTEGER PerfTime; 
  LARGE_INTEGER PerfFreq; 
} PERF_OBJECT_TYPE; 

Members

  • TotalByteLength
    Contains the length, in bytes, of the object-specific data. This value includes this structure, the PERF_COUNTER_DEFINITION structures, and the PERF_INSTANCE_DEFINITION and PERF_COUNTER_BLOCK structures for each instance. This member specifies the offset from the beginning of this structure to the next PERF_OBJECT_TYPE structure, if one exists.

  • DefinitionLength
    Contains the length, in bytes, of the object-specific data. This value includes this structure and the PERF_COUNTER_DEFINITION structures for this object. This member is the offset from the beginning of the PERF_OBJECT_TYPE structure to the first PERF_INSTANCE_DEFINITION structure or to the PERF_COUNTER_DEFINITION structures if there is no instance data.

  • HeaderLength
    Contains the length, in bytes, of this structure. This member is the offset to the first PERF_COUNTER_DEFINITION structure for this object.

  • ObjectNameTitleIndex
    Contains the index to the name of the object name in the title database.

  • ObjectNameTitle
    A pointer to a string with a terminating nul character containing the name of the object. This member initially contains NULL, but it can contain a pointer to the actual string after the string is located.

  • ObjectHelpTitleIndex
    Contains the index to the Help title for the object in the title database.

  • ObjectHelpTitle
    A pointer to a string with a terminating nul character containing the Help title. This member initially contains NULL, but it can contain a pointer to the actual string after the string is located.

  • DetailLevel
    Specifies the level of detail. An application uses this value to control display complexity. This value is the minimum detail level of all the counters for a given object. The following table shows possible values for this member.

    Value Description
    PERF_DETAIL_NOVICE Minimal technical knowledge is required to understand the counter data.
    PERF_DETAIL_ADVANCED The counter data is designed for an advanced user.
    PERF_DETAIL_EXPERT The counter data is designed for an expert user.
    PERF_DETAIL_WIZARD The counter data is designed for a system designer.
  • NumCounters
    Specifies the number of counters in each counter block. There is one counter block per instance.

  • DefaultCounter
    Specifies the default counter whose information is to be displayed when this object is selected. The value of this member is typically greater than or equal to zero. However, the value of this member may be –1 to indicate that there is no default.

  • NumInstances
    Specifies the number of object instances for which counters are being provided. If the object can have zero or more instances, but has none at present, this value should be zero. If the object cannot have multiple instances, this value should be PERF_NO_INSTANCES.

  • CodePage
    Specifies the code page. This member is zero if the instance strings are in Unicode. Otherwise, this member is the code-page identifier of the instance names.

  • PerfTime
    Specifies the current value, in counts, of the high-resolution performance counter.

  • PerfFreq
    Specifies the current frequency, in counts per second, of the high-resolution performance counter.

Remarks

If there is only one instance of the object type, a single PERF_COUNTER_BLOCK structure follows the counter definitions. This structure is followed by data for each counter. The PERF_COUNTER_BLOCK structure contains the total length of the structure and the counter data that follows it.

If there is more than one instance of the object type, the list of counter definitions is followed by a PERF_INSTANCE_DEFINITION structure and a PERF_COUNTER_BLOCK structure for each instance. The PERF_INSTANCE_DEFINITION structure includes the name, the identifier, and the name of the parent of the instance.

Following the counter data, there is a PERF_INSTANCE_DEFINITION structure and a PERF_COUNTER_BLOCK structure for each instance specified in the PERF_DATA_BLOCK structure that begins the performance data area.

Requirements

OS Versions: Windows CE .NET 4.0 and later.
Header: Windows.h.

See Also

Performance Monitoring Structures

 Last updated on Friday, October 08, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.