Опять траблы с LPT

Тема в разделе "WASM.WIN32", создана пользователем Pasha 111, 31 июл 2005.

  1. Pasha 111

    Pasha 111 New Member

    Публикаций:
    0
    Регистрация:
    10 авг 2003
    Сообщения:
    19
    Есть готовая прога на C++ под Windows, которая юзает порты 0x378, 0x379 и 0x37A. Чтобы прога работала в Win2k/XP нужно использовать userport.sys, giveio.sys, porttalk и т.п. Как переписать функции OUT и IN так, чтобы вместо них вызывались Write/ReadFile()?



    Я что-то не понимаю: ведь когда открываю порт через CreateFile() а потом пишу байт через WriteFile() он же пишется в порт данных - 0x378. А как же записать в 0x379? Или я всё не так понял?



    ЗЫ: поиском пользовался.

    ЗЗЫ: нужно переписать юзая стандартные средства Windows. userport.sys, giveio.sys, porttalk не предлагать :)
     
  2. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
  3. Pasha 111

    Pasha 111 New Member

    Публикаций:
    0
    Регистрация:
    10 авг 2003
    Сообщения:
    19
    bogrus

    Я в курсе, что так можно. Даже исходники UserPort.sys с примером изучил. Только мне хочется сделать всё "правильо" :) Просто на некоторых ноутах адрес LPT не 0x378, на некоторых компах вообще нет LPT и я юзаю переходник COM->LPT. Поэтому тут в принципе плохо писать в порты, это мне чем-то DOS напоминает со старым подходом прямой работы с железом. Не зря же HAL придумали...



    Народ, помогите! уже месяц парюсь над этой проблемой :dntknw: