Связь драйвера Mini Filter с сервисом Windows

0

Я создаю драйвер мини-фильтра. В этом я общаюсь с приложением пользовательского режима, чтобы получить некоторую часть пользователя формы данных. я общаюсь с пользовательским режимом, используя "порт связи". Я пытался общаться с приложением пользовательского режима, он работал нормально.

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

Мой вопрос:

1) Могу ли я создать "порт связи" в службе Windows?

2) Если я создаю службу Windows, как получить конкретную информацию о пользователе. я имею в виду, когда я отправляю запрос для обслуживания того, как служба узнает, какие данные сеанса пользователя нужно извлечь?

3) какой из них лучше, я имею в виду, что пользовательский режим или служба Windows - лучшее решение.

  • 0
    Служба Windows в значительной степени подпадает под термин «приложение пользовательского режима». Он использует определенный API для идентификации себя как службы, может работать с привилегиями SYSTEM и может не отображать пользовательский интерфейс, но в остальном это приложение в пользовательском режиме, как и любое другое. Обратите внимание, что служба не связана с определенным сеансом пользователя.
  • 0
    Хорошо, формируем драйвер мини-фильтра, можем ли мы получить из какого сеанса мы получили вызов в драйвере мини-фильтра.
Показать ещё 3 комментария
Теги:
winapi
driver
minifilter

1 ответ

0

1) Могу ли я создать "порт связи" в службе Windows?

Да, вы можете создать его на службе.

2) Если я создаю службу Windows, как получить конкретную информацию о пользователе. я имею в виду, когда я отправляю запрос для обслуживания того, как служба узнает, какие данные сеанса пользователя нужно извлечь?

Служба работает под учетной записью системы, а не под любым зарегистрированным пользователем. Таким образом, чтобы показать всплывающее окно или диалог текущего пользователя, вы можете посмотреть WTSGetActiveConsoleSessionId() или аналогичный api, чтобы получить консольный сеанс.

3) какой из них лучше, я имею в виду, что пользовательский режим или служба Windows - лучшее решение.

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

Но если ваш драйвер может работать без какого-либо подключения к сервису/приложению, то переходите к приложению.

  • 0
    У нас есть требование, чтобы служба / приложение всегда работали в любое время, когда драйвер фильтра может прийти и запросить некоторые данные. Итак, какой сервис или приложение предпочтительнее?
  • 0
    @ UmeshaMS, я думаю, что сервис. Но что произойдет, если пользователь не вошел в систему?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню