Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.07.2010, 20:29   #1
RoS
Форумчанин
 
Аватар для RoS
 
Регистрация: 13.12.2009
Сообщений: 272
По умолчанию CreateFile прочитать бут-сектор

Нужно вобщем узнать файловую систему любого диска...будь то флешка или С, решил считать первые 512 байт диска, там это записано, 100%, но как считать?

Код:
	HANDLE hDisk = CreateFile( TEXT("\\\\.\\PhysicalDrive0"), 
                        FILE_READ_ATTRIBUTES|SYNCHRONIZE|FILE_TRAVERSE,                        
                        FILE_SHARE_READ|FILE_SHARE_WRITE,
                        NULL, OPEN_EXISTING, 0, NULL );            // do not copy file attributes

	if (hDisk == INVALID_HANDLE_VALUE) cout << "Handle Error\n";
Далее нужно воспользоваться DeviceIoControl функций, но какой ей передать флаг?
Если я помог вам - порадуйте меня, нажмите на весы слева
RoS вне форума Ответить с цитированием
Старый 05.07.2010, 20:47   #2
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Вот:
Код:
#include <iostream.h>
#include <windows.h>

void main()
{

	char SysNameBuffer[MAX_PATH];

	if (GetVolumeInformation("C:\\", 0, 0, 0, 0, 0, SysNameBuffer, sizeof(SysNameBuffer)))
		cout <<  SysNameBuffer << endl;
}
profi вне форума Ответить с цитированием
Старый 05.07.2010, 20:49   #3
liljon
Форумчанин
 
Регистрация: 03.01.2010
Сообщений: 229
По умолчанию

GetVolumeInformation не подойдет вам? =\
подпись
liljon вне форума Ответить с цитированием
Старый 05.07.2010, 21:18   #4
RoS
Форумчанин
 
Аватар для RoS
 
Регистрация: 13.12.2009
Сообщений: 272
По умолчанию

Хммм...способ безотказный, но все-таки прочитать еще кое-что из бутсектора надо, так что мой вариант как можно развить?
Если я помог вам - порадуйте меня, нажмите на весы слева
RoS вне форума Ответить с цитированием
Старый 05.07.2010, 21:38   #5
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

RoS, вот пожалуйста, читай!
rpy3uH вне форума Ответить с цитированием
Старый 05.07.2010, 22:54   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

может нормально читать первый сектор(readFile) а то зачем DeviceIO то?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.07.2010, 09:36   #7
RoS
Форумчанин
 
Аватар для RoS
 
Регистрация: 13.12.2009
Сообщений: 272
По умолчанию

Не получается читать, если не сложно, потестите, я не гуру в WInAPI, ReadFile возвращает FALSE (

А нет, вроде бы разобрался, с readFile видимо были проблемы, опять же из-за отсутствия опыта WinAPI

Огромное спасибо, грузин
Если я помог вам - порадуйте меня, нажмите на весы слева

Последний раз редактировалось rpy3uH; 06.07.2010 в 10:32.
RoS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перехват CreateFile qwerc1 Win Api 6 29.06.2010 22:01
Отобразить один сектор матрицы на другой зеркально SoulKeeper Помощь студентам 8 07.11.2009 02:09
Запись в МХ сектор HellMercenariess Свободное общение 0 03.08.2009 04:07
Бут скрин из Windows 7 (200х21000) bmw Windows 8 18.03.2009 03:41
ЗАПИСЬ В ЗАГРУЗОЧНЫЙ СЕКТОР ERASERROR Общие вопросы Delphi 6 15.01.2008 23:27