PERF_INSTANCE_HEADER structure (perflib.h)
Provides information about the PERF_INSTANCE_HEADER block that contains the structure. A PERF_INSTANCE_HEADER block provides information about the instances in a counter set, or the instances for which performance counter results are provided in a multiple-instance query. The PERF_INSTANCE_HEADER block consists of the following items in order:
- A PERF_INSTANCE_HEADER structure that contains the size of the PERF_INSTANCE_HEADER block and the instance identifier
- A null-terminated UTF-16LE string that contains the instance name.
- Padding such that the total size of the PERF_INSTANCE_HEADER block is a multiple of 8 bytes.
Syntax
typedef struct _PERF_INSTANCE_HEADER {
ULONG Size;
ULONG InstanceId;
} PERF_INSTANCE_HEADER, *PPERF_INSTANCE_HEADER;
Members
Size
The total size of the PERF_INSTANCE_HEADER block, in bytes. This total size is the sum of the sizes of the PERF_INSTANCE_HEADER structures, the string that contains the instance name, and the padding.
InstanceId
The instance identifier.
Remarks
Each active instance of a counter set is identified by the combination of
its instance name and instance identifier. Two active instances of a
counter set should not have the same combination of instance name and instance
identifier. Clients, however, should tolerate instances with duplicate combinations of instance name and instance
identifier.
The PerfEnumerateCounterSetInstances function gets a sequence of
PERF_INSTANCE_HEADER blocks.
The PerfQueryCounterData function gets a PERF_DATA_HEADER block that may
contain PERF_INSTANCE_HEADER blocks within the PERF_MULTI_INSTANCES block.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10, version 1607 [desktop apps only] |
Minimum supported server | Windows Server 2016 [desktop apps only] |
Header | perflib.h |