TDI Firewall отложенная обработка TDI_EVENT_CONNECT
От: ratix Киргизия  
Дата: 29.03.12 15:52
Оценка:
Пытаюсь расширить функционал tdi_fw драйвера, а именно:

при поступлении входящего соединения (TDI_EVENT_CONNECT handler), в обработчике нет возможности принять решение о том разрешить ли соединение или запретить..
Необходимо спросить об этом user-mode процесс, которые контроллирует драйвер.

Проблема собственно в том, что я не знаю как это сделать..
Насколько я понял — TDI_EVENT_CONNECT handler работает на IRQL Dispatch, поэтому нельзя тупо отправить запрос в юзер-мод, и ждать ответа каким-нибудь KeWaitForSingleObject, так?

При этом, если TDI_EVENT_CONNECT handler возвращает что-то отличное от STATUS_MORE_PROCESSING_REQUIRED (например я пробовал вернуть STATUS_PENDING) — соединение прерывается.

А нужно, чтобы вопрос о том установить соединение или нет как-бы подвис на время, пока не придет ответ от user-mode приложения.

Подскажите как решить проблему?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.