|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.08.2012, 12:00 | #21 |
Пользователь
Регистрация: 26.05.2010
Сообщений: 68
|
В общем вроде во всем разобрался и как дальше считать байты как че от куда получить, остался один вопрос без, которого я боюсь не то получу:
Есть две формы CreateFile: "\\\\.\\PhisycalDriveN" "\\\\.\\X:" В чем в них разница? Знаю что первая дает вроде указатель на физический диск, а вторая на раздел диска! У меня задание: прочитать системные структуры данных BR, резервную копию BR,BF_BPB, FSInfo, для одного логического диска(дошел до этой фразы и подумал что логический как раз и есть раздел диск, но все же продолжу вопрос), потом мне понадобится прочитать байты с FAT информацию о FAT извлечь, в общем Получал при помощи функции DeviceIoControl геометрию диска и раздела (использовал для этого флешку по заданию, раздел естественно один) получил разную информацию.. Какую форму мне надо использовать в итоге чтобы всю информацию найти какая требуется? |
01.08.2012, 12:08 | #22 |
Пользователь
Регистрация: 26.05.2010
Сообщений: 68
|
Вот у меня имеется такая схема она будет действительна для раздела диска("\\\\.\\C:")?
|
01.08.2012, 13:15 | #23 | |
Пользователь
Регистрация: 26.05.2010
Сообщений: 68
|
Нашел код в котором определяются необходимые переменные для работы дальше:
Код:
Я пытаюсь определить переменную diskGeometry вот так(нужно написать на Buider, не на С++): Код:
Цитата:
|
|
01.08.2012, 13:36 | #24 |
Пользователь
Регистрация: 26.05.2010
Сообщений: 68
|
Объявил структуру DISK_GEOMETRY как:
Код:
|
01.08.2012, 15:35 | #25 |
Пользователь
Регистрация: 26.05.2010
Сообщений: 68
|
У меня возникли вопросы в строчках какие я выделил в коде красным, вопросы:
1) SetFilePointer(hFile,StrToInt(Edit1->Text),NULL,FILE_BEGIN); - если в Edit1-> Text будет 1 то указатель сместится на 1 байт? или сектор? (hFile - хэндел раздела диска) Например: у меня в Edit1->Text хранится 1, это значит что я должен буду в следующем действие считать 1 сектор как правильно сместить указатель в hFile? 2) result = ReadFile(hFile, buffer, bufferSize, &bytesReturned, 0); - эта функция может из хэндла на раздел диска считывать только кратное кол-во байт сектору? пробовал считать 1 байт не получилось.. 3) StringGrid1->Cells[i,j]=buffer[i*j+j]; - Как мне по байтово запихать сектор считанный из из раздела диска. Например: мы считали 1ый сектор из раздела в buffer(см. вопрос 1), сектор содержит 512 байт, следовательно я должен заполнить 512 ячеек.. Вроде все понимаю как должно работать, примерно знаю какие, как функции что получают, но чет ни чего дельного получить не могу.. Привожу код того что сделал: Код:
|
01.08.2012, 16:50 | #26 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 505
|
Знающий не говорит, говорящий не знает (С) Лао Цзы
|
01.08.2012, 20:26 | #27 |
Пользователь
Регистрация: 26.05.2010
Сообщений: 68
|
В общем у меня все вроде правильно работает я считал в переменную BYTE *buffer нужных мне 512 байт.. но я не знаю как мне эти 512 байт вывести в 512 ячеек компонента StringGrid в этом компоненте требует UnicodeString, а в указателе хранятся unsigned char *... как мне преобразовать из unsigned char * в UnicodeString? Да еще надо так чтобы содержимое отображалось в 16ти ричной системе счисления.. но я пока даже вообще вывести из указателя ни че не могу.. в той статье идет просто запись в другой файл
|
02.08.2012, 14:30 | #28 | |||
Форумчанин
Регистрация: 08.07.2010
Сообщений: 505
|
Цитата:
Цитата:
Цитата:
Код:
Знающий не говорит, говорящий не знает (С) Лао Цзы
Последний раз редактировалось Krok27; 02.08.2012 в 14:50. |
|||
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C++ Builder чтение из файла через пробел | reeskblg | Помощь студентам | 2 | 14.12.2011 18:20 |
Секторы и кластеры. | worp | Свободное общение | 4 | 14.09.2011 23:28 |
Битые кластеры | hon | Компьютерное железо | 7 | 03.08.2011 00:32 |
С++ Builder - Чтение файла :( | Davlet M | Помощь студентам | 7 | 27.08.2009 23:53 |
Чтение данных из файла Excel в C++Builder | Max2114 | C++ Builder | 6 | 15.01.2009 11:32 |