Pzz>Что мешает поделить один Event между всеми OVERLAPPED'ами? Когда Event становится просигналенным, просто просматриваете по кругу относящиеся к делу OVERLAPPED'ы в поисках таких, для которых HasOverlappedIoCompleted() возвращает TRUE (или чего он там возвращает в таких случаях, я не помню).
Если чесно — я в стопоре. Может я не совсем понял идею. Что даст деление одного события между OVERLAPPED'ами?
Здравствуйте, k732, Вы писали:
Pzz>>Что мешает поделить один Event между всеми OVERLAPPED'ами? Когда Event становится просигналенным, просто просматриваете по кругу относящиеся к делу OVERLAPPED'ы в поисках таких, для которых HasOverlappedIoCompleted() возвращает TRUE (или чего он там возвращает в таких случаях, я не помню).
K>Если чесно — я в стопоре. Может я не совсем понял идею. Что даст деление одного события между OVERLAPPED'ами?
Возможность проснуться, когда кто-то из OVERLAPPED'ов сработает, и сразу со всеми сработавшими разобраться.
Вам не нужна нотификация о каждом сработавшем OVERLAPPED'е. Вам надо знать, что ХОТЬ ОДИН сработал.
Здравствуйте, k732, Вы писали:
K>Pzz, если не сложно — можно псевдокод потока, который на одном событии задает несколько асинхронных операций I/O. Мне так будет понятнее
Здравствуйте, k732, Вы писали:
K>Скачал Tap-Win32. Установил. А где виртуальный адаптер ?
В компутере, где же еще?
Я вообще ничего не понял. В Device Manager'е устройство видно? Должно быть видно, как сетевая карта. А в систрее оно, наверное, появится только когда вы в него "кабель воткнете".
Re[19]: имитация сетевого интерфейса
От:
Аноним
Дата:
10.11.07 11:16
Оценка:
Здравствуйте, Pzz, Вы писали:
Pzz>Там IRP canceling не худо бы починить. И я не уверен, что этот драйвер будет легко подписать: ребята довольно вольно обращаются с WDM'овским API. Большая его часть для минипортов запрещена.
Есть такой тип драйверов — NDIS with lower WDM edge, им можно использовать не только NdisXXX функции. Нужно включить 'wdm.h' (а не 'ntddk.h' как в OpenVPN) и еще NDIS_WDM=1 в source задефайнить. Думаю, должны подписать.
А>Есть такой тип драйверов — NDIS with lower WDM edge, им можно использовать не только NdisXXX функции. Нужно включить 'wdm.h' (а не 'ntddk.h' как в OpenVPN) и еще NDIS_WDM=1 в source задефайнить. Думаю, должны подписать.
Ну это тоже ring-0 ? Если да, то какая тогда разница ?
P.S. И есть ли что готовое ?
Re[21]: имитация сетевого интерфейса
От:
Аноним
Дата:
10.11.07 12:52
Оценка:
Здравствуйте, k732, Вы писали:
K>Ну это тоже ring-0 ? Если да, то какая тогда разница ?
Это я pzz говорил, насчет подписывания драйвера.
K>P.S. И есть ли что готовое ?
Драйвер из OpenVpn готовый, можно использовать. Если готовый — в смысле ни с чем разбираться не надо, такого наверное нет.
K>>P.S. И есть ли что готовое ? А>Драйвер из OpenVpn готовый, можно использовать. Если готовый — в смысле ни с чем разбираться не надо, такого наверное нет.
Pzz>Я вообще ничего не понял. В Device Manager'е устройство видно? Должно быть видно, как сетевая карта. А в систрее оно, наверное, появится только когда вы в него "кабель воткнете".
Вроде нашел. Pzz, а можно все-таки кусок кода на отправку и прием пакетов (если не сложно)
Здравствуйте, k732, Вы писали:
K>Можно ли как отправить/получить IP-пакеты системе?
K>Приложение имеет доступ к IP-трафику и нужно имитировать сетевой адаптер (как будто на него приходят данные и что он отправляет данные).
K>Можно ли это как-нибудь сделать ?
Здравствуйте, k732, Вы писали:
Pzz>>Я вообще ничего не понял. В Device Manager'е устройство видно? Должно быть видно, как сетевая карта. А в систрее оно, наверное, появится только когда вы в него "кабель воткнете".
K>Вроде нашел. Pzz, а можно все-таки кусок кода на отправку и прием пакетов (если не сложно)
Не могу, это код из коммерческого проекта. Посмотрите в OpenVPN, как они с тун/тапом обращаются.