filter(intermediate) driver
- From
- Kirill Neznamov (2:5025/32.88)
- To
- All
- Date
- 2002-01-17T10:41Z
- Area
- SU.WINDOWS.NT.PROG
Доброе время суток All!
Написал я сабж для серийного порта дабы перехватывать то что на модем
приходит.
(IRP_MJ_READ && IRP_MJ_WRITE).
Так вот выходит такая фигня - когда я открываю свой драйвер по CreateFile()
любая другая прога(например tmail) открыть модем не может.Однако утилитка
PortMon после своего запуска не блокирует ком порт.То бишь после запуска
PortMon прекрасно запускается tmail и инет дозвонка.Kак ребята из
systeminternals сделали это? Может это какая нить недокументированная фича и
надо что то в реестре прописать? Я в своем драйвере все сделал почти так же
как
и в их исходнике filemon только подключаюсь функцией
IoAttachDeviceToDeviceStack() к стеку драйвера ком порта вместо драйвера
файловой системы.
Затем в usermode приложение открываю свой драйвер так:
CreateFile("\\\\.\\sniffdrv",
GENERIC_READ | GENERIC_WRITE,
0, (так говорят в документации.Если вместо 0 FILE_SHARE_READ |
FILE_SHARE_WRITE все равно не помогает )
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
После CreateFile все проги которые хотят заюзать модем обламываются :(
Kогда я останавливаю свой сервис все работает нормально.
Kак это побороть? Подскажите хотя бы в каком направлении рыть.
P.S. кстати нашел в реестре в разделе CurrentControlSet\Services\Serial
параметр PermiteShare.У меня он был 0.Установил его в 1 - все осталось как и
было.:(
P.P.S Помогите плиз.Задолбался я уже 3 ночи подряд над этой фигней парится!!
С наилучшими пожеланиями,
KiR [Team BuZZ] [Team GoA ]
--- TM-Ed 1.14+
* Origin: Кто не хочет - ищет причину,кто хочет - ищет возможность. Goa_Dream_Station (2:5025/32.88)