winapiiohardware-port

Windows equivalent of inb(), outb(), low level i/o


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 functions.

My challenge is to port that code over to run under Windows as a simple console app. But am puzzled in what functions Win32 (or .NET) provide that allow me permission to access direct memory mapped ports.

I don't want to code a system driver either.

My Windows tool preference is VS2008. (fyi)

Is this possible?


Solution

  • 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.