|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.02.2019, 10:44 | #1 |
Регистрация: 18.02.2019
Сообщений: 5
|
Чтение с диска
Здравствуйте. Пишу утилиту для считывания бинарных данных с файловой системы диска. При запуске нужно указать номер считываемого диска и номер считываемого сектора. Задача - считать данные которые кроются в ячейке бинарного файла, на которую указывает указатель (В моём случае это смещение 510 байт от начала сектора диска). Собственно проблема: переменная типа "DWORD" имеет размер - 4 байта. Нужные мне значения скорее всего типа "long". Поэтому, когда я хочу получить данные с ячейки я соответственно получаю мусорное, или неверное значение. Другими способами как через функцию ReadFile я не знаю как реализовать идею. Прошу помощи. Собственно вот сам код:
Код:
|
18.02.2019, 10:50 | #2 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
это что?
https://docs.microsoft.com/en-us/win...leapi-readfile Цитата:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
|
18.02.2019, 13:07 | #3 |
Регистрация: 18.02.2019
Сообщений: 5
|
Пытался кастовать в другой тип данных
|
18.02.2019, 13:19 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,770
|
Что вы пытались кастовать? Вы даже приведенную цитату не осилили. А в мсдн еще круче: перед работой ReadFile записивает в эту переменную 0 и пофиг на ваши 512 инт, 512 лонг инт, 512 звезд...
|
18.02.2019, 13:20 | #5 |
Регистрация: 18.02.2019
Сообщений: 5
|
Извините, если оскорбил вас чем-то. Я всего лишь прошу помощи. Любой. Решить эту задачу мне и самому будет интересно. Мне просто нужно направление, где искать ошибку.
|
18.02.2019, 13:28 | #6 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,770
|
1. Для начала сформулируйте задачу:
вам надо прочитать определенный физ. сектор или все-таки сектор бинарного файла на диске. 2. На нтфс в многих случаях размер сектора 4 Кб https://support.microsoft.com/en-ca/...-fat-and-exfat но на деле этот список куда больше http://www.ntfs.com/ntfs_optimization.htm 3. Что-то вы не озаботились правами при попытках прямого чтения диска. 4. И вообще не понятна ваша проблема Цитата:
|
|
18.02.2019, 13:31 | #7 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,355
|
|
18.02.2019, 13:35 | #8 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
...и даже если бы имела, то вы же наоборот ей пытались присвоить long.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
18.02.2019, 14:05 | #9 |
Регистрация: 18.02.2019
Сообщений: 5
|
Мне нужно прочитать определённый сектор, для (например) дальнейшего определения типа файловой системы, или чтобы узнать из скольких секторов состоит раздел и т.д. и т.п. Это можно узнать, выведя значение смещения.
|
18.02.2019, 14:11 | #10 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,770
|
Тогда стоит начать с IOCTL_DISK_GET_DRIVE_GEOMETRY или IOCTL_DISK_GET_DRIVE_GEOMETRY_EX и не закладываться на 512.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
VC++ чтение загрузочной записи диска | Mahin | Общие вопросы C/C++ | 9 | 05.02.2013 07:27 |
чтение сектора с диска | 16milashka16 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 15.12.2011 10:42 |
Чтение с локального диска и из WEB | mactepmac | Общие вопросы Delphi | 3 | 20.07.2011 14:28 |
Посекторное чтение и запись диска | posmotret | Qt и кроссплатформенное программирование С/С++ | 1 | 04.07.2011 12:05 |
Чтение файлов с диска | Wolf-alone | Общие вопросы C/C++ | 1 | 17.09.2008 10:05 |