PERF_OBJECT_TYPE
The PERF_OBJECT_TYPE
structure describes object-specific performance information. This structure is
followed by a list of PERF_COUNTER_DEFINITION20YXHX8 structures, one for each counter defined
for the type of object.
typedef struct _PERF_OBJECT_TYPE { // pot
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
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
ObjectNameTitleIndex
Contains the
index to the object s name in the title database.
ObjectNameTitle
Points to the
name of the object. This member initially contains NULL, but it can contain a
pointer to the actual string once the string is located.
ObjectHelpTitleIndex
Contains the
index to the object s Help title in the title database.
ObjectHelpTitle
Points to the
title of Help. This member initially contains NULL, but it can contain a
pointer to the actual string once the string is located.
DetailLevel
Specifies the
level of detail. Applications use this value to control display complexity.
This value is the minimum detail level of all the counters for a given object.
This member can be one of the following values:
Detail
level |
Meaning |
PERF_DETAIL_NOVICE |
No
technical ability is required to understand the counter data. |
PERF_DETAIL_ADVANCED |
The counter
data is provided for advanced users. |
PERF_DETAIL_EXPERT |
The counter
data is provided for expert users. |
PERF_DETAIL_WIZARD |
The counter
data is provided for system designers. |
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. This member is typically greater than or equal to zero. However, 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.
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, the counter definitions are followed by a
single PERF_COUNTER_BLOCK
If there is
more than one instance of the object type, the list of counter definitions is
followed by a PERF_INSTANCE_DEFINITION
Following the
counter data, there is a PERF_INSTANCE_DEFINITION structure and a PERF_COUNTER_BLOCK
See Also