WINAPI Не могу понять некоторые моменты
Добрый день или ночь всем пользователям. Хотел бы задать несколько вопросов:
1)Мне нужно открыть диск как файл
2)Считать МБР
3)Организовать цикл по просмотру PT
Что я выяснил на данном этапе. Первое, что я делаю это Createfile, второе считываю 512 байт в буффер ибо МБР находится в первых 512 байтах(Правильно что я выбрал BYTE а не LPVOID для буфера?). Элементы PT находятся после 446 байтов в мбр, чето-такое. Там, где цикл с fout выдает 0 cc М и так все 512 итераций.
И что мне делать дальше?
Я вот хочу для промежуточного результата выяснить что я там считал и что там в буфере хранится, чтобы поэтапно все понять.
Правильно ли я все сделал до этого?
Прошу, блин, я уже неделю читаю статьи, а понимание все не приходит.
int main() {
HANDLE hDevice;
//LPVOID buff[512];
int i, j;
byte buff[512];
//TCHAR szDrive[] = _T(" A");
//LPSTR buffer = (CHAR*)calloc(SIZE_BUFFER + 1, sizeof(CHAR));
DWORD dwBytesRead = 0;
hDevice = CreateFile(L"\\.\PHYSICALDRIVE1", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
BOOL result = ReadFile(hDevice, buff, sizeof(buff), &dwBytesRead, NULL);
//DWORD dwRead;
//if (!::ReadFile(hDevice, buf, sizeof(buf), &dwRead, NULL) || dwRead != sizeof(buf)) throw win_error();
//CloseHandle(hDevice);
//for (j = 0; j < sizeof(buff); j++) {
// cout << buff[j] << endl;
//}
/*ofstream out("1.txt");
for (int i = 0; i < 512; i++)
{
char f[3]; _itoa(buff[i], f, 16);
out << i << "\t" << f << "\t" << buff[i] << '\n';
cout << buff[i];
}
out.close();
system("1.txt");*/
//cin.get();
CloseHandle(hDevice);
return 0;
}