Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.26;
Скачать: CL | DM;

Вниз

Как прочитать/записать MBR из под Win9x   Найти похожие ветки 

 
Arazel ©   (2006-01-05 14:27) [0]

Нужно что-то вроде

ReadSector(PlysicalHDD, Sector,NumSector,Buf);
WriteSector(PlysicalHDD, Sector,NumSector,Buf);

НО! Что бы работало с самого начало HDD то есть с нулевого
сектора (MBR)

У кого что есть помогите?


 
Игорь Шевченко ©   (2006-01-05 14:28) [1]

Нафига ?


 
Arazel ©   (2006-01-05 17:39) [2]

Игорь Шевченко ©   (05.01.06 14:28) [1]
Да  вобщем  создал  себе модуль ATA.pas  
в нем  все низко уровные ф-ций...  
Sleep
ReadSector
WriteSector
ReadID
...

Но все это  работает  под драйверами...  Smallport.sys/vxd
думаю  ты  понял что все обращение к жесткому диску  
пройсходит  именно  на  уровне портов IN/OUT
Конечно это боле универсальный вариянт!!!

Но  я хочу создать второй  вариянт лишних файлов
то  есть не  хочу таскать собой драйвера!!! И решил создать...
Под  WinNT  платформы удолось  легко а  вот под Win9x  не когда
не  приходилось...  Ну BootSector я  смог  прочитать  но мне
надо  именно с  первого раздела!  Так как мой  ф-ций
особенно  та которая  определяет начальные сектора SMBR
каждого логического  диска как раз  таки и начинает  с  MBR
КАК  ЖЕ Я ЕЩЁ СМОГУ  ПОДЧИТАТЬ ВСЕ  РАЗДЕЛЫ!!!
Ты  можешь предложить читать с BootSector? Но нет!
Это не  для меня!!!  Ведь модуль унивесальный!!!
А  ТАК  ЖЕ ЕСТЬ И   FAT (для работы с  ф.с.  FAT12/16/32/64 )
и  ISO/UDF и собираюсь делать под NTFS  и  Linux
Если  есть инфа про  NTFS плизз  помогите...

ЕСЛИ  КТО МОЖЕТ  ПОМОГИТЕ...


 
Kerk ©   (2006-01-07 18:13) [3]

тут есть
http://kladovka.net.ru/index.cgi?pid=list&rid=9


 
Arazel ©   (2006-01-08 15:38) [4]

Kerk ©   (07.01.06 18:13) [3]  Не Kerk RawIO32.bin в мой планы
не  входят... :(((((((((((
Может исходник даш?


 
Kerk ©   (2006-01-09 13:22) [5]

Arazel ©   (08.01.06 15:38) [4]

Совсем без дополнительных файлов ты сделать не сможешь. Тут два варианта - thunk (как в MIXEd) или писать VXD-драйвер.

Вариант MIXEd-а содержит 2 дополнительные DLL. Одна 16bit - которая непосредственно и выполняет низкоуровневую работу и вторая 32bit нужна для thunk"а (промежуточное звено между моей программой и 16bit DLL). От промеждуточного звена можно избавиться (тем самым оставив только одну "лишнюю" DLL), воспользовавшись недокументированными LoadLibrary16(), GetProcAddress16() и другими. Описание поищи в сети.

Тут смотри исходники библиотек rawio??, QTThunkU.pas (объявление LoadLibrary16(), GetProcAddress16()...) и еще чего-нибудь полезного:
http://kerkzone.net/files/ex2fs_src.zip (180kb)


 
Arazel ©   (2006-01-09 17:21) [6]

Kerk ©   (09.01.06 13:22) [5]
Спсибо тебе огромное за модуль!!! Я думаю теперь
скоро создам ещё один  модуль для Linux!

Мое решение после твоих слов остается преждним
а именно: Я  буду использовать в NT драйвер  
GiveIO.pas (Сеййчас в кладовку  скину :) )
а для Win9x буду использовать свой  все ф-ций
из нулевого кольца (Есть модуль именно для Win9x)
также я хотел сделать для NT подключив твой модуль
который находится на сайте :) Но к сожилению этот
модуль не работает в WinXP с Сервис паком(SP) 2
приходится  использовать драйвер...
хотел PlysicalDrive но у него ограничение в секторах
он расчитан только для малых дисков!

Кстати не мог бы дать исходник Плугина FAT32 из Mixed?
хотелось бы сравнить со своей и боле  оптемезировать :)

И ещё исходник Mixed который лежит в кладовке он
не компелируется  :(  Ругается на кое какие ф-ций
которые не инитцалезированы...


 
Kerk ©   (2006-01-09 17:54) [7]

Arazel ©   (09.01.06 17:21) [6]
хотел PlysicalDrive но у него ограничение в секторах
он расчитан только для малых дисков!


Это как это? Ты, мягко говоря, не прав.

> Кстати не мог бы дать исходник Плугина FAT32 из Mixed?

Этот плагин не я писал.. пороюсь.. если найду исходник, выложу.

>И ещё исходник Mixed который лежит в кладовке он
>не компелируется  :(  Ругается на кое какие ф-ций
> которые не инитцалезированы...

А подробнее? Какие именно функции?

P.S.
# Запрещено наличие внутри архивов исполняемых файлов (exe, dll, ...)
# Разрешено публиковать только zip-архивы

Из правил Кладовки. Ну, народ, ну они же такие простые... ну соблюдайте.


 
Arazel ©   (2006-01-09 18:58) [8]

Kerk ©   (09.01.06 17:54) [7]
Это как это? Ты, мягко говоря, не прав.
Ну не знаю Kerk тут у нас поселились Microsoft(ы)
вот они и гворят...
Хотя я тоже пробывал вроде все читает 8|
может 160gb не тянет... Да ладно я все равно
на аппаратном урове обращаюсь :)

Mixed

procedure TMXfrm.LocalizeInterface;
var
 I: Integer;
begin
 ParseLocales(ChangeFileExt(Application.ExeName,".lng"),MainLocale,Sets.LocaleName);
 for I := 0 to ActionList.ActionCount-1 do
 begin
   (ActionList.Actions[I] as TAction).Caption :=
     MainLocale.Values[(ActionList.Actions[I] as TAction).Caption];
   (ActionList.Actions[I] as TAction).Hint :=
     MainLocale.Values[(ActionList.Actions[I] as TAction).Hint];
 end;
end;


Начиная отэтой ф-ций и  деревом... Пробывал самостоятельнно
исправлять но запарился...  Не люблю в чужом коде ковырятся
ради только  что бы кое что вытащить  :)


 
Kerk ©   (2006-01-09 23:08) [9]

Arazel ©   (09.01.06 18:58) [8]
Ну не знаю Kerk тут у нас поселились Microsoft(ы)
вот они и гворят...


Ничего они такого не говорят.

> Начиная отэтой ф-ций и  деревом...

Сообщение об ошибке, как я понял, зашифровано и ты мне его не скажешь. :)



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

Текущий архив: 2006.03.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.054 c
15-1141196909
Ega23
2006-03-01 10:08
2006.03.26
Только что


2-1141738650
dera
2006-03-07 16:37
2006.03.26
Как отсортировать таблицу?


4-1135438757
_duk
2005-12-24 18:39
2006.03.26
Приемник


2-1142269570
alone
2006-03-13 20:06
2006.03.26
Система


2-1142248218
Fenix
2006-03-13 14:10
2006.03.26
WebBrowser