Hi all! :)
I'm writing a hardware monitoring utility and I got to the point I have to read all the possible sensors in my PC. That is: tempeartures, fan speeds, voltages, etc...
After a very long search I found that unlike other factors like CPU/GPU load, RAM usage etc. for sensors readout there isn't a convinient DLL you can just load into your application, get the address of a function like "GetUsageOf..."
and voila! Not to mention that a google search mostly shows all sorts of utilities instead of articles onto how this job is done.
Since the number and the kind of sensors and their controllers varies greatly from vendor to vendor and from motherboard to motherboard there is no standardized way of getting the number of sensors, their kind and reading them out.
So if one wants this fuctionality in their own app they sould get their hands dirty and write their own kernel driver that has to be able to scan various buses for controllers, identify them and only after that a sensor readout could be possible.
Using Depends.exe
(a standard VS tool that can show what DLLs an application loads. Both statically and dynamically) I tried to find a DLL that might incrporate this functionality in various hardware utilities, but without any success. it appears that the EXE of a program itself is responsible for that functionality.
Now, it would be great if you can show me a way of detecting and reading the sensors, but I would also greatly appreciate if you can point me to a source of information, book, article ..., like in which addresses and buses those controllers could be found. Of course DDK knowledge is absolutely needed I already know that :).
Thanks in advance :)