I have some Linux code that monitors our hardware by collecting temperatures, voltages, and fan speeds, from the motherboard using inb(), outb(), inl(), etc. low level i/o f
Most hardware locations are mapped in areas not accesible from userspace, so you are going to need a device driver that provides the desired API.
You can also check the UNIX Application Migration Guide ad MSDN.
The default protection level for I/O ports in Windows prevents a user-mode program from using inp and out instructions on any port. Your program will die with a GPF. There are several freely available drivers around that change that protection level so that ring 3 code can access the ports. Which is okay if you're interested in killer pokes.
The canonical one is inpout32.
Well, after much searching with some trial and error, the two most useful bits I found to be helpful are:
WinRing0 and IO.DLL .
They pretty much do the same thing, the difference is the samples of code you will find to help you get started using them.
Hope this helps for others.