Ответ режима ядра WFP на коммуникационный ответ пользовательского режима

Я использую платформу Windows Filter Platform для реализации простого брандмауэра. На самом деле мой драйвер является драйвером выноски и может перехватывать 2 типа событий: FWPM_LAYER_ALE_AUTH_CONNECT_V4 и FWPM_LAYER_ALE_AUTH_LISTEN_V4.

Драйвер может взаимодействовать с приложением в пользовательском режиме, используя инвертированную модель вызовов: приложение в пользовательском режиме выполняет некоторые операции IOCTL, драйвер сохраняет их в очереди и возвращает буфер при запуске события.

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

Раньше я работал над драйвером минифильтра и использовал FltCreateCommunicationPort для отправки события в пользовательский режим и ожидания ответа от него (с помощью FltSendMessage из минифильтра).

Итак, вопрос: Есть ли что-то подобное с WPF?


person Masamune    schedule 26.02.2015    source источник


Ответы (2)


не уверен, предоставляет ли ВПП такой механизм. Но если ваше требование состоит в том, чтобы поделиться некоторыми событиями уведомлений между пользователем и режимом ядра, вы можете использовать что-то подобное, как описано в http://www.osronline.com/article.cfm?id=108.

person K Singh    schedule 31.12.2015

У платформы WFP нет API, такого как FltCreateCommunicationPort, вам необходимо реализовать IOCTL и FwpsPendOperation0 и FwpsCompleteOperation0 API WFP, проверьте образец проверки WDK WFP.

person Anand Choubey    schedule 30.01.2018