2009-10-15 4 views
0

Я разработал приложение Win32 C/C++, которое создает динамические IP-фильтры WFP, однако его необходимо запустить как администратор для этого (из-за политики безопасности Windows). Я хочу поместить код, требующий прав администратора, в службе, запущенной с правами администратора, а затем вызвать ее из приложения, работающего как обычный пользователь.Методы вызова в службе win32 с повышенными привилегиями от приложения

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

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

Есть ли у кого-нибудь опыт или указатели?

ответ

0

Это, безусловно, правильный подход к тому, чтобы иметь отдельный исполняемый файл, который имеет привилегию выполнить требуемое действие, чтобы основное приложение могло работать в учетной записи с ограниченным доступом. Что касается отправки запросов в службу, нет ничего особенного в том, что он работает как служба. Просто подумайте, что это процесс, который запускается с учетными данными пользователя admin. Таким образом, общайтесь с ним так же, как и в любой другой ситуации процесса в процессе, например, именованные каналы, сетевые сокеты и т. Д.

Смежные вопросы