PdhFormatFromRawValue 函数 (pdh.h)

计算给定原始计数器值的可显示值。

语法

PDH_FUNCTION PdhFormatFromRawValue(
  [in]  DWORD                 dwCounterType,
  [in]  DWORD                 dwFormat,
  [in]  LONGLONG              *pTimeBase,
  [in]  PPDH_RAW_COUNTER      pRawValue1,
  [in]  PPDH_RAW_COUNTER      pRawValue2,
  [out] PPDH_FMT_COUNTERVALUE pFmtValue
);

参数

[in] dwCounterType

计数器的类型。 通常,调用 PdhGetCounterInfo 以在调用 PdhGetRawCounterValue 以检索原始计数器值时检索计数器类型。

有关计数器类型的列表,请参阅 Windows Server 2003 部署工具包的计数器类型部分。 (常量值在 Winperf.h.) 中定义

请注意,不能指定基类型,例如PERF_LARGE_RAW_BASE。

[in] dwFormat

确定计算值的数据类型。 指定以下值之一。

含义
PDH_FMT_DOUBLE
将计算值作为双精度浮点实际返回。
PDH_FMT_LARGE
以 64 位整数形式返回计算值。
PDH_FMT_LONG
以长整数的形式返回计算值。
 

可以使用按位非独占 OR 运算符 (|) 将数据类型与以下缩放因子之一合并。

含义
PDH_FMT_NOSCALE
请勿在计算中应用计数器的缩放因子。
PDH_FMT_NOCAP100
例如,大于 100 的计数器值 (,测量多处理器计算机上的处理器负载) 的计数器值不会重置为 100。 默认行为是计数器值上限为 100。
PDH_FMT_1000
将最终值乘以 1000。

[in] pTimeBase

指向时基的指针(如果需要进行格式转换)。 如果格式转换不需要时基信息,则忽略此参数的值。 若要检索计数器的时基,请调用 PdhGetCounterTimeBase

[in] pRawValue1

用于计算可显示的计数器值的原始计数器值。 有关详细信息,请参阅 PDH_RAW_COUNTER

[in] pRawValue2

用于计算可显示的计数器值的原始计数器值。 有关详细信息,请参阅 PDH_RAW_COUNTER。 某些计数器(例如速率计数器)需要两个原始值来计算可显示的值。 如果计数器类型不需要第二个值,请将此参数设置为 NULL。 此值必须是两个原始值中的较早值。

[out] pFmtValue

接收计算的计数器值的 PDH_FMT_COUNTERVALUE 结构。

返回值

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

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

要求

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

另请参阅

PDH_FMT_COUNTERVALUE

PDH_RAW_COUNTER

PdhGetCounterInfo

PdhGetCounterTimeBase

PdhGetRawCounterValue

PdhReadRawLogRecord