Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Система";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
14-39522
iNew
2003-02-26 05:20
2003.03.13
При попытке установить компонент выдаетсф Fatal Error:


7-39600
Eugene
2002-12-06 12:59
2003.03.13
Блокировка клавиатуры через глобальный HOOK, возможно ли?


1-39321
JohnQ
2003-03-04 16:07
2003.03.13
Системы счисления


3-39234
MAX_
2003-02-15 17:58
2003.03.13
InterBase и WIN1251


14-39533
Tundra
2003-02-26 08:36
2003.03.13
Кто знает какие компоненты Delphi бесплатны ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский