Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

About "Win32_TemperatureProbe"

1,028 views
Skip to first unread message

Ted.Lin

unread,
Nov 18, 2002, 9:45:41 PM11/18/02
to
Dear all,

I used the class Win32_TemperatureProbe in the WMI.
when I used the "GetObject()" function, I can not find any object in
my computer.
But I can find the objects in another PC.

My questions are :
If I want my computer to supply the class, what do I need?
If I want to supply all the WMI's Computer System Hardware Classes,
what do I need to do?
Are there any website or document to describe that?
If my company's motherboards want to support the WMI's Hardware
Classes, where can I find those informations?


Thanks.

Ivan Brugiolo [MS]

unread,
Nov 19, 2002, 12:00:20 AM11/19/02
to
If your hardware is compliant,
then the temperature is reported in the SMBIOS tables.

You can check if you have the CPU temperature in your machine
by enumerating the instances of MSAcpi_ThermalZoneTemperature in the
root\wmi namespace
the CurrentTemperature property will give you the temperature in tenths of
Kelvin degrees,
always assuming your hardware supports this.

Other hardware may have nonstandard means for retrieving the temperature
from sensors on the motherboard.

--
This posting is provided "As Is" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm


"Ted.Lin" <ted...@quantatw.com> wrote in message
news:b4abe65e.02111...@posting.google.com...

Ted.Lin

unread,
Nov 19, 2002, 8:26:30 PM11/19/02
to
Yes, I find the class MSAcpi_ThermalZoneTemperature in the wbemtest.
But I try to program it, I get the error code :

WBEM_E_NOT_SUPPORTED
0x8004100C
The feature or operation is not supported.

My source codes like :

strComputer = "."

set wbemServices = GetObject("winmgmts:\\" & strComputer & "\root\wmi")
set wbemObjectSet = wbemServices.InstancesOf("MSAcpi_ThermalZoneTemperature")

For Each wbemObject In wbemObjectSet
WScript.Echo "InstanceName : " & wbemObject.InstanceName
WScript.Echo "CurrentTemperature : " & wbemObject.CurrentTemperature
WScript.Echo ""
Next

Anything is wrong?
Thanks.


"Ivan Brugiolo [MS]" <ivan...@online.microsoft.com> wrote in message news:<OQy4Pi4jCHA.2188@tkmsftngp08>...

Ivan Brugiolo [MS]

unread,
Nov 19, 2002, 8:32:17 PM11/19/02
to
Apparently your hardware does not support it (or it does not support in a
compatible way).
Nothing I can do about your hardware.

Ted.Lin

unread,
Nov 20, 2002, 3:39:33 AM11/20/02
to
Yes, I see.
I used the class "Win32_TemperatureProbe" in my computer that supply a
SMBIOS.
I can get the object and I can get the device's Description and
DeviceID.
Like :
=============================================
strComputer = "."

set wbemServices = GetObject("winmgmts:\\" & strComputer)
set wbemObjectSet = wbemServices.InstancesOf("Win32_TemperatureProbe")

For Each wbemObject In wbemObjectSet

WScript.Echo "CurrentReading : " & wbemObject.CurrentReading
WScript.Echo "NominalReading : " & wbemObject.NominalReading
WScript.Echo "Description : " & wbemObject.Description
WScript.Echo "DeviceID : " & wbemObject.DeviceID
Next
=============================================

I get two DeviceIDs and Descriptions in above.
No error showed and the values are right.
But I cannot get the CurrentReading and NominalReading.
The two values of above are NULL.

And I find a Q306852,DOC: WMI: Win32_TemperatureProbe.CurrentReading
Is Not Populated,in the Microsoft website.

So I ask about how can I do?
You say I can use the class "MSAcpi_ThermalZoneTemperature".
And I try it in the same computer. But it show the error code
0x8004100C.


The feature or operation is not supported.

Or my hardware is not supported.

I can use the class "Win32_TemperatureProbe" to get some data.
But why I cannot use the class "MSAcpi_ThermalZoneTemperature"?

My testing program is wrong, isn't it?
Or you can give me a sample how to use the
"MSAcpi_ThermalZoneTemperature".
And give a VBScript sample, ok?
Thanks.


"Ivan Brugiolo [MS]" <ivan...@online.microsoft.com> wrote in message news:<uawxpSDkCHA.1280@tkmsftngp12>...

Ivan Brugiolo [MS]

unread,
Nov 20, 2002, 4:44:22 AM11/20/02
to
Let's start from the beginning:
Your system "supports" SMBIOS.
It means that it has a table with values that comply to a certain format.
This table is available in the SMBios data byte array of the
root\wmi:MSSmBios_RawSMBiosTables class.

instance of MSSmBios_RawSMBiosTables
{
Size = 1507;
SMBiosData = {} // a bunch of bytes
}

now you can download the spec for the format of the table from the DMTF web
site,
and parse the table. It will take you 20-30 minutes to do it by hand.
If you find the group information for Type 28,
then your SMBIOS compliant hardware exposes the temperature in a compatible
way.
If not, there is no hope for the "interesting" properties of
Win32_TemperatureProbe
and/or for the ThermalZone class to work.
The degree of errors may sound not logical at first, but that would be a
different long story.

--
This posting is provided "As Is" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm


"Ted.Lin" <ted...@quantatw.com> wrote in message

news:b4abe65e.02112...@posting.google.com...

0 new messages