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

Вниз

Как прочитать/записать 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.039 c
1-1140803768
Игорь Степанов
2006-02-24 20:56
2006.03.26
Собственный компонент Preview для компонента QRCompositeReport


3-1138716259
bobr12
2006-01-31 17:04
2006.03.26
oracle и trigger для добавления уникального значения


2-1142056505
The X
2006-03-11 08:55
2006.03.26
Ввод даты в поле Date.


15-1141110036
Курдль
2006-02-28 10:00
2006.03.26
Критерии выбора мобильника.


9-1126637331
Ricks
2005-09-13 22:48
2006.03.26
Столкновения





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский