PerfDecrementULongCounterValue function (perflib.h)

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

Syntax

ULONG PerfDecrementULongCounterValue(
  [in] HANDLE                    Provider,
  [in] PPERF_COUNTERSET_INSTANCE Instance,
  [in] ULONG                     CounterId,
  [in] ULONG                     Value
);

Parameters

[in] Provider

The handle of the provider. Use the handle variable that the CTRPP tool generated for you. For the name of the variable, see the symbol attribute of the provider element.

Windows Vista:  The PerfStartProvider function returns the handle.

[in] Instance

A PERF_COUNTERSET_INSTANCE structure that contains the counter set instance. The PerfCreateInstance function returns this pointer.

[in] CounterId

Identifier that uniquely identifies the counter to update in the instance block. The identifier is defined in the id attribute of the counter element and must match the CounterId member of one of the PERF_COUNTER_INFO structures in the instance block. Use the counter ID constant that the CTRPP tool generated for you. For the name of the constant, see the symbol attribute of the counter element.

Windows Vista:  The counter ID constant is not available.

[in] Value

Value by which to decrement the counter.

Return value

If the function succeeds, it returns ERROR_SUCCESS.

If the function fails, the return value is a system error code.

Remarks

This is a convenience function for decrementing raw counter data. To decrement the raw counter data yourself, use the Offset member of the PERF_COUNTER_INFO structure to access the raw counter data for a specific counter. The PERF_COUNTERSET_INSTANCE structure block contains one or more counter information structures.

Use the PerfSetULongCounterValue function to initially set the counter value.

Note that the counter value will underflow when the counter value decrements past zero.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header perflib.h
Library Advapi32.lib
DLL Advapi32.dll

See also

PerfDecrementULongLongCounterValue

PerfIncrementULongCounterValue

PerfSetULongCounterValue