C # Firewall не работает в Windows 7 - PullRequest
0 голосов
/ 05 ноября 2010

В настоящее время я работаю в проекте Firewall.Сначала я скачал проект брандмауэра из codeproject http://www.codeproject.com/KB/cpp/firewallpapi.aspx, который был на C ++.Поэтому я сделал dll из этого кода и вызвал его из C # проекта.Работает отлично.Но в Windows 7 это не работает.Может ли кто-нибудь дать мне подсказку, почему он не работает в Windows 7.

Спасибо.

Ответы [ 4 ]

3 голосов
/ 05 ноября 2010

Возможно, потому что API изменился :

"Предоставляя более простую платформу разработки, платформа фильтрации Windows разработана для замены предыдущих технологий фильтрации пакетов, таких как интерфейс драйвера транспорта (Фильтры TDI), фильтры спецификации сетевого драйвера (NDIS) и многоуровневые поставщики услуг Winsock (LSP). Начиная с Windows Server 2008 и Windows Vista, перехватчик брандмауэра и драйверы перехватчика фильтра недоступны; приложения, использующие эти драйверы, должнывместо этого используйте платформу фильтрации Windows. "

0 голосов
/ 05 ноября 2010

@ Стюарт Данкелд Я нашел решение в Codeproject.http://www.codeproject.com/KB/IP/PacketFilter.aspx

0 голосов
/ 05 ноября 2010

Можно требовать повышение прав (контроль учетных записей), но приложение не имеет правильного манифеста, поэтому окно повышения никогда не появляется.

Попробуйте щелкнуть правой кнопкой мыши -> «Запуск от имени администратора» и посмотрите, работает ли он тогда.

0 голосов
/ 05 ноября 2010

Скомпилируйте его для Windows 7 (32/64-разрядная версия).

Проверьте средство просмотра событий на наличие любых исключений, запрещенных внутренним разрешением Windows.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...