Вниз
Скачать: CL | DM;

Низкоуровневый доступ к гибкому диску (форматирование, итд)   Найти похожие ветки 

← →
Serge Grivachenko   (2003-01-13 10:38) [0]

Известно, что в NT/2000/XP низкоуровневый доступ к диску отличается от Win95/98
Я пыталя открыть дисковод, как устройство, через CreateFile("//./a:") и далее пытаюсь форматировать/читать но АПИ функции DeviceIOControl, ReadFile возвращают ошибку 5 Denied Acces
Вопрос, что же я делаю не так?
Простите за мою тупость :)


← →
OxOTHuK   (2003-01-13 16:19) [1]

Я тебе могу выслать документацию по программированию дисководов... сам посмотришь..


← →
Сергей Макаров ©   (2003-01-13 18:32) [2]

TO OxOTHuK
и мне плиз тоже если можно.
makarov_s@rambler.ru


← →
Alex Konshin   (2003-01-13 21:19) [3]

А что ты конкретно делаешь?
Приведи код. Может решим твою проблему.
Правда, я, к сожалению, не работал с флоппи.

Вот для того, чтобы работать с жестким диском обычно требуется права Администратора. Поэтому с ним нужно работать через контроллер используя команды IOCTL_SCSI_MINIPORT.
Причина в том, что по умолчанию только администратор имеет право чтения-записи на физический диск, а вот для контроллера - everyone. Увидеть это можно с помощью утилиты http://www.sysinternals.com/ntw2k/freeware/winobj.shtml
Найди в фолдере \?? (или в \GLOBAL?? для XP) PhisicalDrive0, посмотри на что он указывает и открой там страничку секурити. Потом найди scsi0 и проделай то же самое.
Вот именно так в свое время я и открыл способ как доставать s/n диска не имея прав администратора.

Но для флоппи там вроде все в порядке с правами. Значит, что-то другое.


← →
Vox ©   (2003-01-13 21:39) [4]

2OxOTHuK
И мне, и мне! Нам всем нужна документация! Пожалуйста!


← →
Serge Grivachenko   (2003-01-16 14:06) [5]

Я нашел ошибку
Я при открытии диска не указал доступ на чтение и запись (сглупил, потому что в мсдн примере было без этого)
Я написал:
hDevice := CreateFile(PChar("\\.\a:"), 0,
FILE_SHARE_READ or FILE_SHARE_WRITE,
nil, // default security attributes
OPEN_EXISTING, // disposition
0, // file attributes
0); // don"t copy any file"s attributes

А надо было
hDevice := CreateFile(PChar("\\.\a:"),

GENERIC_READ or GENERIC_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE,
nil, // default security attributes
OPEN_EXISTING, // disposition
0, // file attributes
0); // don"t copy any file"s attributes


Теперь проблема в том, что читать,писать и форматировать цилиндры 80,81 в NT2K нельзя, а очень хочется, потому что иначе любой файл скопированный на дискету может повредить инфу в секторах, а я этого не хочу :)


Я подумал еще работать с серийным номером дискеты. Никто не пытался писать на дискету тот серийномер который сам захочет?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
14-39518
Gydrop
2003-02-25 23:07
2003.03.13
Значение ключа по умолчанию в реестре


1-39399
crippler
2003-03-03 11:25
2003.03.13
Люди, помогите скачать курсовую по Delphi


3-39239
werus
2003-02-20 23:26
2003.03.13
Доступ к Ораклу


6-39460
alexe
2003-01-22 10:17
2003.03.13
Поскажите плз как написать telnet сервер на основе TIdTelnetServe


1-39412
GROL
2003-03-02 12:41
2003.03.13
Как восстановить текст компонент?




   Наверх