Добрый день.
Тема уже достаточно обсосана, но меня тормозит одна вещь.
Многожды рекомендованный и опробованный метод
hDevice=CreateFileW(drv,FILE_READ_DATA,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0, NULL);
DeviceIoControl(hDevice, IOCTL_STORAGE_EJECT_MEDIA, ...
работает , но только под ADMINом.
Под USERом CreateFileW сливается по ACCESS DENIED.
ВОПРОС :
Нужно менять что-либо в софте, и что именно?
Можно разрулить настройкой Windows XP, и какой именно?
Спасибо.
Здравствуйте, <Аноним>, Вы писали:
А>Добрый день.
А>Тема уже достаточно обсосана, но меня тормозит одна вещь.
А>Многожды рекомендованный и опробованный метод
А> А> hDevice=CreateFileW(drv,FILE_READ_DATA,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0, NULL);
А> DeviceIoControl(hDevice, IOCTL_STORAGE_EJECT_MEDIA, ...
А>
А>работает , но только под ADMINом.
А>Под USERом CreateFileW сливается по ACCESS DENIED.
А>ВОПРОС :
А>Нужно менять что-либо в софте, и что именно?
А>Можно разрулить настройкой Windows XP, и какой именно?
А>Спасибо.
Функция CreateFile, когда в роли файла выступает диск действительно всегда требует прав админа. Поэтому проге необходимо давать права энтого самого админа. То бишь запускать от имени админа...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, Аноним, Вы писали:
Посмотрите DevEject
http://www.jsifaq.com/SF/Tips/Tip.aspx?id=8496
взять исходник можно например здесь
ftp://ftp.heise.de/pub/ct/listings/0316-208.zip
Правда
Works for Windows 2000/XP/2003.
может это то что вам надо (судя по исходнику автор "идет другим путем").