драйвер сом порта

Тема в разделе "WASM.NT.KERNEL", создана пользователем XshStasX, 21 янв 2010.

  1. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    как сделать так чтоб несколько программ могли работать с одним сом портом
    при этом не важно что ои будут мешать друг другу.
    сам думал сделать так
    1)поставить перехват на createfile, read/write file
    и когда следующая программа будет открывать сом порт выдавать ей DuplicateHandle
    2)потом программа из драйвера вызывает некую функ. которая розрешает нашей программе работать(на чтение/запись в сом порт) с портом некое время, а по истечении этого времени дает возможность другой программе работать с сом.
    или есть другой менее извращений вариант ?
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Я не знаю каким образом организована эксклюзивная работа, но скорее всего флагом Exclusive объекта устройства (OBJ_EXCLUSIVE).
    Попробуй
     
  3. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    а для более частной задачи
    в сервисе ras man который подключает комп к инету через ком порт
    нужно перехватить read/write file , а еще лутше сделать от туда DuplicateHandle передать другой программе а в этом сервисе сделать перезапись кода так чтоб тот ни когда не мог вызвать read/write file.
    какой процесс нужно открывать для этого??
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    я ничего не понял, но если хочешь обрабатывать запросы на ввод-вывод к устройству, напиши обычный legacy драйвер, который создает девайс и обрабатывает IRP