Frage

Ich habe einig Linux-Code, dass Monitore unsere Hardware von Temperaturen, Spannungen und Lüfterdrehzahl, vom Motherboard mit inb (), outb (), inl () usw. niedrigem Niveau i / o Funktionen zu sammeln.

Meine Herausforderung ist zu tragen, dass Code über unter Windows als eine einfache Konsolenanwendung auszuführen. Aber am verwirrt in welche Funktionen Win32 (oder .NET) zur Verfügung stellen, die mir erlauben Erlaubnis direkten Speicherzugriff zugeordneten Ports.

Ich will keinen Systemtreiber entweder Code.

Ihr Windows-Tool Präferenz ist VS2008. (FYI)

Ist das möglich?

War es hilfreich?

Lösung 3

Nun, nach langem Suchen mit einigen Versuch und Irrtum, die zwei nützlichsten Bits fand ich nützlich sein sollen:

WinRing0 und IO.DLL .

Sie haben so ziemlich das gleiche, der Unterschied ist, die Proben von Code finden Sie Sie mit ihnen den Einstieg zu erleichtern.

Hope, das hilft für andere.

Andere Tipps

Die Standardschutzstufe für die I / O-Ports in Windows verhindert, dass ein Benutzer-Modus-Programm von inp mit und aus Anweisungen an jedem Port. Ihr Programm wird mit einem GPF sterben. Es gibt mehrere frei verfügbaren Treiber um diese Änderung, die Schutzstufe, so dass Ring-3-Code die Ports zugreifen können. Das ist in Ordnung, wenn Sie in Killer stochert interessiert sind.

Die kanonische ist inpout32 .

Die meisten Hardware-Standorte sind in Bereichen, die nicht erreichbar von Anwenderseite abgebildet, so dass Sie auf werden müssen ein Gerätetreiber, der die gewünschte API bereitstellt.

Sie können prüfen, auch die UNIX Anwendung Migration ad MSDN.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top