PerfDecrementULongCounterValue 函数 (perflib.h)

递减其值为 4 字节无符号整数的计数器的值。 提供程序使用此函数。

语法

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

参数

[in] Provider

提供程序的句柄。 使用 CTRPP 工具为你生成的句柄变量。 有关变量的名称,请参阅 provider 元素的 symbol 属性。

Windows Vista: PerfStartProvider 函数返回句柄。

[in] Instance

包含计数器集实例 的PERF_COUNTERSET_INSTANCE 结构。 PerfCreateInstance 函数返回此指针。

[in] CounterId

唯一标识要在实例块中更新的计数器的标识符。 标识符在计数器元素的 id 属性中定义,并且必须与实例块中PERF_COUNTER_INFO结构之一的 CounterId 成员匹配。 使用 CTRPP 工具为你生成的计数器 ID 常量。 有关常量的名称,请参阅计数器元素的 symbol 属性。

Windows Vista: 计数器 ID 常量不可用。

[in] Value

计数器递减所依据的值。

返回值

如果函数成功,则返回ERROR_SUCCESS。

如果函数失败,则返回值为 系统错误代码

注解

这是一个用于递减原始计数器数据的便捷函数。 若要自行递减原始计数器数据,请使用 PERF_COUNTER_INFO 结构的 Offset 成员访问特定计数器的原始计数器数据。 PERF_COUNTERSET_INSTANCE结构块包含一个或多个计数器信息结构。

使用 PerfSetULongCounterValue 函数最初设置计数器值。

请注意,当计数器值递减超过零时,计数器值将下溢。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 perflib.h
Library Advapi32.lib
DLL Advapi32.dll

另请参阅

PerfDecrementULongLongCounterValue

PerfIncrementULongCounterValue

PerfSetULongCounterValue