perflib.h header

This header is used by Performance Counters. For more information, see:

perflib.h contains the following programming interfaces:

Functions

 
PerfAddCounters

Adds performance counter specifications to the specified query.
PerfCloseQueryHandle

Closes a query handle that you opened by calling PerfOpenQueryHandle.
PerfCreateInstance

Creates an instance of the specified counter set.
PerfDecrementULongCounterValue

Decrements the value of a counter whose value is a 4-byte unsigned integer. Providers use this function.
PerfDecrementULongLongCounterValue

Decrements the value of a counter whose value is an 8-byte unsigned integer. Providers use this function.
PerfDeleteCounters

Removes the specified performance counter specifications from the specified query.
PerfDeleteInstance

Deletes an instance of the counter set created by the PerfCreateInstance function.
PerfEnumerateCounterSet

Gets the counter set identifiers of the counter sets that are registered on the specified system. Counter set identifiers are globally unique identifiers (GUIDs).
PerfEnumerateCounterSetInstances

Gets the names and identifiers of the active instances of a counter set on the specified system.
PerfIncrementULongCounterValue

Increments the value of a counter whose value is a 4-byte unsigned integer. Providers use this function.
PerfIncrementULongLongCounterValue

Increments the value of a counter whose value is an 8-byte unsigned integer. Providers use this function.
PerfOpenQueryHandle

Creates a handle that references a query on the specified system. A query is a list of counter specifications.
PerfQueryCounterData

Gets the values of the performance counters that match the counter specifications in the specified query.
PerfQueryCounterInfo

Gets the counter specifications in the specified query.
PerfQueryCounterSetRegistrationInfo

Gets information about a counter set on the specified system.
PerfQueryInstance

Retrieves a pointer to the specified counter set instance. Providers use this function.
PerfSetCounterRefValue

Updates the value of a counter whose value is a pointer to the actual data. Providers use this function.
PerfSetCounterSetInfo

Specifies the layout of a particular counter set.
PerfSetULongCounterValue

Updates the value of a counter whose value is a 4-byte unsigned integer. Providers use this function.
PerfSetULongLongCounterValue

Updates the value of a counter whose value is an 8-byte unsigned integer. Providers use this function.
PerfStartProvider

Registers the provider. (PerfStartProvider)
PerfStartProviderEx

Registers the provider. (PerfStartProviderEx)
PerfStopProvider

Removes the provider's registration from the list of registered providers and frees all resources associated with the provider.

Callback functions

 
PERF_MEM_ALLOC

Providers implement this function to provide custom memory management for PERFLIB.A
PERF_MEM_FREE

Providers implement this function to provide custom memory management for PERFLIB.F
PERFLIBREQUEST

Providers can implement this function to receive notification when consumers perform certain actions, such as adding or removing counters from a query.

Structures

 
PERF_COUNTER_DATA

Contains information about the PERF_COUNTER_DATA block that contains the structure.
PERF_COUNTER_HEADER

Contains information about the PERF_COUNTER_HEADER block that contains the structure.
PERF_COUNTER_IDENTIFIER

Contains information about the PERF_COUNTER_IDENTIFIER block that contains the structure.
PERF_COUNTER_IDENTITY

Defines the counter that is sent to a provider's callback when the consumer adds or removes a counter from the query.
PERF_COUNTER_INFO

Defines information about a counter that a provider uses. The CTRPP tool automatically generates this structure based on the schema you specify.
PERF_COUNTER_REG_INFO

Provides registration information about a performance counter.
PERF_COUNTERSET_INFO

Defines information about a counter set that a provider uses. The CTRPP tool automatically generates this structure based on the schema you specify.
PERF_COUNTERSET_INSTANCE

Defines an instance of a counter set.
PERF_COUNTERSET_REG_INFO

Contains information about the PERF_COUNTERSET_REG_INFO block that contains the structure.
PERF_DATA_HEADER

Provides information about the PERF_DATA_HEADER block that contains the structure.
PERF_INSTANCE_HEADER

Provides information about the PERF_INSTANCE_HEADER block that contains the structure.
PERF_MULTI_COUNTERS

Provides information about the PERF_MULTI_COUNTERS block that contains the structure.
PERF_MULTI_INSTANCES

Provides information about the PERF_MULTI_INSTANCES block that contains the structure.
PERF_PROVIDER_CONTEXT

Defines provider context information.
PERF_STRING_BUFFER_HEADER

Provides information about the PERF_STRING_BUFFER_HEADER block that contains the structure.
PERF_STRING_COUNTER_HEADER

Indicates where in the PERF_STRING_BUFFER_HEADER block that the string that contains the name or help string for the indicated performance counter starts.

Enumerations

 
PerfCounterDataType

Indicates the content type of a PERF_COUNTER_HEADER block that the PerfQueryCounterData function includes as part of the PERF_DATA_HEADER block that the function produces as output.
PerfRegInfoType

Indicates the types of information that you can request about a performance counter set by calling the PerfQueryCounterSetRegistrationInfo function.