Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.22;
Скачать: CL | DM;

Вниз

Скопировать загрузочный сектор   Найти похожие ветки 

 
Goblinus ©   (2003-07-10 02:22) [0]

Привет всем! Нужна Ваша помощь. Необходимо осуществить сабж. Вот, собственно, исходный код (взят с http://www.firststeps.ru и переведен на Delphi):



...

const
VWIN32_DIOC_DOS_INT25 = 2;

type
DIOC_REGISTERS = packed record
reg_EBX: DWord;
reg_EDX: DWord;
reg_ECX: DWord;
reg_EAX: DWord;
reg_EDI: DWord;
reg_ESI: DWord;
reg_Flags: DWord;
end;

...

procedure TfrmMain.btnSvaeToFileClick(Sender: TObject);
const
S = "Ошибка! Сектор не скопирован!";
var
hDevice: Cardinal;
dw: DWord;
Reg: DIOC_REGISTERS;
Result: LongBool;
Data: Array [1..512] of Char;
begin
with OpenDialog do if Execute then begin
hDevice := CreateFile("\\.\c:", GENERIC_READ,
FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
if hDevice <> INVALID_HANDLE_VALUE then with Reg do begin
reg_EAX := 3;
reg_ECX := 1;
reg_EDX := 0;
reg_EBX := LongInt(@Data);
Result := DeviceIoControl(hDevice, VWIN32_DIOC_DOS_INT25, @Reg,
SizeOf(Reg), @Reg, SizeOf(Reg), dw, nil);
if Result then with TFileStream.Create(FileName, fmCreate or
fmShareDenyWrite) do begin
Write(Data, SizeOf(Data));
Free;
end
else ShowMessage(S);
CloseHandle(hDevice);
end
else ShowMessage(S);
end;
end;



DeviceIoControl возвращает False ;((( А "\\.\Harddisk0\Partition1" - вообще не существует (CreateFile возвращает INVALID_HANDLE_VALUE).

Помогите, пожалуйста, решить проблему!

Кстати, попутно вопрос по теме. Могу ли я скопировать boot-сектор раздела диска, на котором файловая система - HPFS или Linux Ext2/Ext3 стандартными WinAPI-функциями?

С уважением,
Goblinus


 
Digitman ©   (2003-07-10 11:19) [1]

http://www.torry.net/vcl/filedrv/diskaccess/diskacc.zip



Страницы: 1 вся ветка

Текущий архив: 2003.09.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.033 c
1-71645
SH
2003-09-08 14:20
2003.09.22
Подсветка синтаксиса


3-71495
Abikos
2003-09-01 12:56
2003.09.22
Interbase


1-71687
pashtet
2003-09-10 10:39
2003.09.22
Как защитить свой продукт от пиратства?


1-71719
Relaxxx
2003-09-10 15:23
2003.09.22
Красивый ПрогрессБар или Gauge


3-71508
cypher
2003-09-01 09:43
2003.09.22
Разница между автономными и вложенными транзакциями