Главная страница
    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
2-1141714480
R.O.O.T
2006-03-07 09:54
2006.03.26
Как сравнить две таблицы


2-1141906227
jeka_t
2006-03-09 15:10
2006.03.26
Может ли DBGrid иметь разное значение RowsHeigth для каждой Ячейк


9-1127015559
bulanov
2005-09-18 07:52
2006.03.26
Завершение загрузки текстур (GLScene)


3-1138799085
kizam
2006-02-01 16:04
2006.03.26
db->dbf


2-1142261468
Net_Imeni
2006-03-13 17:51
2006.03.26
keybd_event





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