Установка драйвера.
От: Andrey.Katkov  
Дата: 26.02.08 16:14
Оценка:
Хочется работоспособности под все Висты, и без действий со стороны пользователя.

ТЗ звучит примерно так — драйвер стартуется при загрузке системы — создаёт своё виртуальное устройство. Которое я потом благополучно юзаю... Причём подобный старт хочется делать и под Вистой. Под Вистой динамическая регистрация драйвера не прокатывает в силу того, что OpenSCManager не даёт доступа к манагеру сервисов (ошибка номер 5). Т.е. банально динамически грузить драйвер при старте не прокатывает — надо его регить и потом как то создавать девайс и обращаться к нему...

А вот как инсталировать драйвер программно и потом его юзать — я и пытаюсь понять... нашёл пару примеров — но они не очень рабочие.
Re: Установка драйвера.
От: Andrey.Katkov  
Дата: 26.02.08 16:18
Оценка:
Эх — сорри! Попутал кнопку и вместо ответа в существующую тему завёл новую тему. Сейчас постараюсь убрать
Re: Установка драйвера.
От: TarasCo  
Дата: 26.02.08 16:34
Оценка:
AK>ТЗ звучит примерно так — драйвер стартуется при загрузке системы — создаёт своё виртуальное устройство. Которое я потом благополучно юзаю... Причём подобный старт хочется делать и под Вистой. Под Вистой динамическая регистрация драйвера не прокатывает в силу того, что OpenSCManager не даёт доступа к манагеру сервисов (ошибка номер 5). Т.е. банально динамически грузить драйвер при старте не прокатывает — надо его регить и потом как то создавать девайс и обращаться к нему...

А под XP при работе под ограниченным аккаунтом такая регистрация прокатывает?
Да пребудет с тобою сила
Re[2]: Установка драйвера.
От: Andrey.Katkov  
Дата: 27.02.08 14:58
Оценка:
Под обычными записями юзеров не прокатывает. Пока что пользую вот такой метод регистрации для автоматического запуска:


hService = CreateService(hServiceManager,
                            DRIVER_NAME,
                            DRIVER_NAME,
                            SERVICE_ALL_ACCESS,
                            SERVICE_KERNEL_DRIVER,
                            SERVICE_SYSTEM_START,
                            SERVICE_ERROR_NORMAL,
                            DRIVER_BINARY,
                            DRIVER_GROUP,
                            &tdifw_tag,
                            DRIVER_DEPENDS,
                            NULL,
                            NULL
                            );


Работает под администраторскими записями в XP и в Vista 32 и 64. И обратиться к сервису через CreateFile видать можно только из администраторского режима. Во всяком случае, пока у меня по этому поводу лезут глюки...
Re[3]: Установка драйвера.
От: TarasCo  
Дата: 27.02.08 15:46
Оценка:
Невозможно ( если не брать в расчет использование уязвимости для повышения привилегий ) установить драйвер из-под ограниченного аккаунта, никаким способом. И с этим не надо бороться. Это не глюки. Посмотрите, как другие продукты решают подобные проблемы ( какие выдают мессаги и.т.п ). IMHO, выдача сообщения о необходимости запустить инсталлятор от имени администратора — нормальный ход.
Да пребудет с тобою сила
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.