Re: Возможно ли открыть драйвер из-под user-а
От: CaptainFlint http://flint-inc.ru/
Дата: 06.03.12 15:29
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте всем!

А>Возникла следующая ситуация:
А>имеется драйвер-фильтр, который я хочу открыть в приложении с помощью функции
А> m_hDriver = CreateFile(
А> IPM_SYMBOLIC_DRIVER_NAME,
А> GENERIC_READ | GENERIC_WRITE,
А> 0,
А> NULL,
А> OPEN_EXISTING,
А> 0,
А> NULL
А> );

А>Если приложение работает под админом — все отлично. Как только запускаю приложение

А>под пользователем без прав админа, при открытии драйвера появляется ошибка access denied.

А>В связи с этим хотелось бы спросить у участников форума, возможно ли открытие драйвера под user-ом

А>с помощью CreateFile. Может быть помогут некие манипуляции с параметром LPSECURITY_ATTRIBUTES, который сейчас NULL.

Про общий случай и конкретно про драйвер-фильтр не скажу, но сам я однажды столкнулся с такой же задачей, когда дорабатывал для себя FileDisk: захотелось, чтобы монтировать диски мог кто угодно, а не только админ. Всё точно так же упёрлось в невозможность открытия устройства. Я заменил в коде драйвера вызов создания устройства IoCreateDevice на IoCreateDeviceSecure, подсунув ему соответствующим образом настроенный набор разрешающих привилегий, — всё сразу заработало.
Почему же, ё-моё, ты нигде не пишешь «ё»?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.