|
|
|
СOM порт + тулзы для анализа потока данных.
|
|||
|---|---|---|---|
|
#18+
Есть СOM порт, интерфейс RS-232, порт торчит в мультикарте, всего их "напихано" 255 портов. Есть прога, которая через эти порты управляет оборудованием. Работа проги сеансовая. Что-то там она отправила и закрыла порт, потом опять открыла ,что-то там отправила и закрыла. НО. Програ глючит, порт не закрывает. Вознивает закономерный вопрос, как же закрыть этот порт в другом процессе ( это кстати не вопрос, я и сам знаю), вопрос в том как получить в чужом процессе хендл порта по его имени или каким-то другим образом. Буду благодарен за ответы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2005, 17:09 |
|
||
|
СOM порт + тулзы для анализа потока данных.
|
|||
|---|---|---|---|
|
#18+
кстати, почему спросил-то, к мультику идет тулаза к дровам, она как-то умеет смотреть что там твориться с сигнальными линиями порта и данные можно посмотереть. как они так делают ? Как они могут получить хендл порта, если порт открыт другим процессом ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2005, 17:11 |
|
||
|
СOM порт + тулзы для анализа потока данных.
|
|||
|---|---|---|---|
|
#18+
Можно здесь глянуть... How it Works ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2005, 18:18 |
|
||
|
СOM порт + тулзы для анализа потока данных.
|
|||
|---|---|---|---|
|
#18+
Мне нужно не заюзать, а самому так сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2005, 22:58 |
|
||
|
СOM порт + тулзы для анализа потока данных.
|
|||
|---|---|---|---|
|
#18+
А это что? How it Works: WinNTWhen you select a port to monitor, Portmon sends a request to its device driver that includes the NT name (e.g. \device\serial0) that you are interested in. The driver uses standard filtering APIs to attach its own filter device object to the target device object. First, it uses ZwCreateFile to open the target device. Then it translates the handle it receives back from ZwCreateFile to a device object pointer. After creating its own filter device object that matches the characteristics of the target, the driver calls IoAttachDeviceByPointer to establish the filter. From that point on the Portmon driver will see all requests aimed at the target device. Portmon has built-in knowledge of all standard serial and parallel port IOCTLs, which are the primary way that applications and drivers configure and read status information from ports. The IOCTLs are defined in the DDK file \ddk\src\comm\inc\ntddser.h and \ddk\src\comm\inc\ntddpar.h, and some are documented in the DDK. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 09:13 |
|
||
|
СOM порт + тулзы для анализа потока данных.
|
|||
|---|---|---|---|
|
#18+
Я тебя человеческим языком спрашиваю, как мне получить хендл порта, если он окрыт по его имени. Зная хендл любой дурак смоежет заюзать управление, вопрос в том как его получить. Ну пример чтоли приведи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 12:47 |
|
||
|
СOM порт + тулзы для анализа потока данных.
|
|||
|---|---|---|---|
|
#18+
А как ты его создавал? Если так: sprintf (s, "\\\\.\\COM%i", portNumber); hComm = CreateFile (s, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); Трабла с переачей hComm у тебя не должно быть. Если многопроцессное приложение, ты могешь его передать через mutex. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 14:48 |
|
||
|
СOM порт + тулзы для анализа потока данных.
|
|||
|---|---|---|---|
|
#18+
Да не создавал я его !!! Его захватывает сторонняя прога. Я не могу дотучаться. прогу "хоронить нельзя", я хочу просто закрыть захваченный процессом ( потоком, фиг его знает что они там намудрили ) порт. Не ужели не понятно , ема-е. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 16:24 |
|
||
|
СOM порт + тулзы для анализа потока данных.
|
|||
|---|---|---|---|
|
#18+
- Не могу найти ошибку, да ее нет, никто ее не может найти. - Я знаю в чем ошибка. - В чем же? - В генах. Меняй прогу, сильно удивлюсь если у проги есть интерфейс, с помощью которого она тебе отдаст номер открытого порта, хотя ты сам можешь выяснить какой порт, хэндл на него ты не вытянешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 16:31 |
|
||
|
СOM порт + тулзы для анализа потока данных.
|
|||
|---|---|---|---|
|
#18+
Не верю. есть мониторы портов, они умеют смотреть данные обмена. ТЫ врешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 16:51 |
|
||
|
СOM порт + тулзы для анализа потока данных.
|
|||
|---|---|---|---|
|
#18+
Есть мониторы портов, ктож спорит, их до кучи, что с этого. Ты пробовал одновременно запустить 2 монитора, запусти и посмотри что получится - считывать будет только один, второй накроется. А насчет хэндла - дак кто ж тебе его отдаст? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 17:21 |
|
||
|
СOM порт + тулзы для анализа потока данных.
|
|||
|---|---|---|---|
|
#18+
Но они-то как-то его узнают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 17:38 |
|
||
|
СOM порт + тулзы для анализа потока данных.
|
|||
|---|---|---|---|
|
#18+
Совсем не обязательно знать Handle порта. Можно написать Фильтр-драйвер. Это такой драйвер, который будет сидеть сверху драйвера COM порта. Вы будете общатся с этим драйвером, а он, в свою очередь будет общаться с настоящим драйвером и, за одно мониторить. Судя по всему Систем интерналс делают именно так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2005, 00:16 |
|
||
|
СOM порт + тулзы для анализа потока данных.
|
|||
|---|---|---|---|
|
#18+
Да мне не нужно его мониторить, мне нужно его просто прибить. А как закрыть порт не зная его хендла ? Никак. Вот я и спрашиваю,как мне хедл получить открытого порта в другом процессе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2005, 13:32 |
|
||
|
СOM порт + тулзы для анализа потока данных.
|
|||
|---|---|---|---|
|
#18+
ТупойДа мне не нужно его мониторить, мне нужно его просто прибить. А как закрыть порт не зная его хендла ? Никак. Вот я и спрашиваю,как мне хедл получить открытого порта в другом процессе. Прибей процесс который открыл этот порт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 19:19 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33286463&tid=2032724]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
78ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 383ms |

| 0 / 0 |
