Здравствуйте, Aniramap, Вы писали:
A>ПО создает виртуальный диск. Необходимо выполнить его форматирование. Сделала форматирование в библиотеке приложения, а не в драйвере, с помощью функции FormatEx библиотеки fmifs.dll. Но данный способ не работает под обычным и опытным пользователем. Может кто-то знает как по другому можно выполнить форматирование раздела? просто очень не хочется это делать "руками", особенно NTFS... Устроит любой вариант форматирования на уровне драйвера или прикладной библиотеки, главное чтобы работал под всеми пользователями ОС. Я нашла на форуме упоминание про Win32_Volume, но вроде он не работает для ХР и более ранних виндовс.. хотелось бы что-то универсальное.
ох... сколько труда будет ухлопано и сколько новых проблем повылезает. правильно хочется чего-то иного
— тоже несколько погорячился
ведь если давать права админа всем (Гена, или я не так что-то понял?), только чтобы сделать нечто наподобие задачи выше — это несколько расточительно, что ли.
Нет такого ощущения? Это ж — назад в win95 под админа!
на самом деле классическое решение — и Vista уже должна потихоньку народ приучать к этому — просто разделять код на тот, что должен выполняться с повышенным уровнем привелегий и с обычным. Ну и разносить соотв в разные места. Физически.
Короче, Aniramap — сделайте, например, сервис под LocalSystem? Да и налаживайте запрос на форматирование из под любых пользователей ему?
А сервис все сделает, ему будет можно. И даже код уже написанный — вполне пригодится, начали ж Вы все верно делать.
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
ПО создает виртуальный диск. Необходимо выполнить его форматирование. Сделала форматирование в библиотеке приложения, а не в драйвере, с помощью функции FormatEx библиотеки fmifs.dll. Но данный способ не работает под обычным и опытным пользователем. Может кто-то знает как по другому можно выполнить форматирование раздела? просто очень не хочется это делать "руками", особенно NTFS... Устроит любой вариант форматирования на уровне драйвера или прикладной библиотеки, главное чтобы работал под всеми пользователями ОС. Я нашла на форуме упоминание про Win32_Volume, но вроде он не работает для ХР и более ранних виндовс.. хотелось бы что-то универсальное.
Заранее спасибо за любую информацию.
Здравствуйте, Aniramap, Вы писали:
A>ПО создает виртуальный диск. Необходимо выполнить его форматирование. Сделала форматирование в библиотеке приложения, а не в драйвере, с помощью функции FormatEx библиотеки fmifs.dll. Но данный способ не работает под обычным и опытным пользователем.
--
Да, это так — "You must be logged on as an administrator or a member of the Administrators group in order to complete this (format volume) procedure". Если же Вы полностью доверяете всем остальным пользователям и хотите разрешить им выполнять операцию форматирования, то дайте им такие же права, как и у администратора.
C уважением,
Геннадий Майко.
Re[2]: Форматирование виртуальных дисков. FAT и NTFS
От:
Аноним
Дата:
21.04.09 07:50
Оценка:
Большое спасибо за ответы. Я тоже скланяюсь все больше к написанию сервиса, просто очень не хотелось добавлять новый элемент в ПО ради выполнения всего одной задачи... Да и насколько я понимаю, написанная мной реализация с помощью библиотеки fmifs.dll, работать под вистой не будет(((.
Re[3]: Форматирование виртуальных дисков. FAT и NTFS
А>Большое спасибо за ответы. Я тоже склоняюсь все больше к написанию сервиса, просто очень не хотелось добавлять новый элемент в ПО ради выполнения всего одной задачи...
в данном случае это скорее всего окажется необходимым. по-крайней мере немного потрудившись потом можно будет спать спокойно — это точно будет работать. Еще соображение: подобный сервис в наличии расширяет возможности и может оказаться полезным еще для чего-нибудь попозже.
А>Да и насколько я понимаю, написанная мной реализация с помощью библиотеки fmifs.dll, работать под вистой не будет(((.
Используйте (относительно) документированные API?
FormatExFormatEx2 и ShFormatDrive — даже если что-то изменится, для совместимости их реализуют через новые механизмы. До Висты они как раз были совершенно точно завязаны на указанную Вами FMIFS.DLL либу. Сейчас опять реализовано что-то иначе (сам не проверял, но парни говорили на Висте и выше есть варианты с COM объектом, когда даже запускается для работы отдельный процесс), но интерфейсы по идее остаться должны были те же.
Кстати, пока писал пред абзац, поставил попутно ряд экспериментов.
подручными средствами на Vista x64 SP1 with UAC из под админа видно
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.