首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用GetSystemPowerStatusEx2 API表示电池温度计的温度值?

如何用GetSystemPowerStatusEx2 API表示电池温度计的温度值?
EN

Stack Overflow用户
提问于 2012-10-15 16:58:36
回答 2查看 556关注 0票数 0

我只想确认一下电池的温度数据。

我使用GetSystemPowerStatusEx2 API来获取c++用于windows设备的电池温度。

我使用的变量是"SYSTEM_POWER_STATUS_EX2".类型的"psse"

On success,返回的电池温度值如下:

psse.BatteryTemperature = 29 //which is of dword type.

我怀疑电池的实际温度代表是什么?

是2.9摄氏度还是29摄氏度&为什么?

请回答。提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-15 17:03:47

根据关于MSDN的文档

电池温度以摄氏度为单位。该成员的值可在-3,276.8至3,276.7之间;增量为0.1摄氏度。

所以29的值意味着2.9摄氏度。

票数 2
EN

Stack Overflow用户

发布于 2012-10-16 03:41:10

在调用函数之前,您是否将BatteryStatusEx2结构内存调零为零?

OTOH原始设备制造商可以,但不需要填写所有的值正确。因此,如果函数返回29,即2.9°C,我假设OEM没有正确地填充这个值。无论它是29摄氏度,这也不是一个真正的值,随着时间的推移,因为电池的温度应该上升,在使用期间的设备。

显然,OEM提供了一个新的固件或服务版本的设备,纠正错误的读数。

这些值的准确性取决于驱动程序的实现。可能电池根本不暴露任何温度,驱动程序总是将29值填充到结构中。

不要太信任原始设备制造商执行所有的功能,始终纠正。

~约瑟夫

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12900408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档