Эквивалент Windows (), OUTB (), I / O / O
-
25-09-2019 - |
Вопрос
У меня есть какой-то код Linux, который следит за нашим оборудованием путем сбора температур, напряжений и скоростей вентилятора, от материнской платы с использованием функций ввода / вывода INL () и т. Д.
Моя задача - портировать этот код для запуска под Windows в виде простого приложения для консоли. Но озадаченным в каких функциях Win32 (или .Net) предоставляет, что позволит мне разрешить доступ к прямую память портам.
Я тоже не хочу кодировать системный драйвер.
Мои предпочтения инструмента Windows - VS2008. (FYI)
Это возможно?
Решение 3
Ну, после многих поиске с некоторыми испытаниями и ошибками, два самых полезных бита, которые я обнаружил, являются полезными:
Они в значительной степени делают то же самое, разница - это образцы кода, которые вы найдете, чтобы помочь вам начать использовать их.
Надеюсь, это поможет другим.
Другие советы
Уровень защиты по умолчанию для порта ввода / вывода в Windows предотвращает программу пользовательского режима от использования InP и OUT на любом порту. Ваша программа умрет с GPF. Существует несколько свободно доступных драйверов, которые изменяют этот уровень защиты, так что Код Кольца 3 может получить доступ к портам. Что в порядке, если вы заинтересованы в убийстве.
Канонический inpout32..
Большинство аппаратных локаций отображаются в областях, несомненными из пользователя, поэтому вы собираетесь нужно Драйвер устройства, который обеспечивает желаемую API.
Вы также можете проверить Руководство по миграции приложений Unix AD MSDN.