Главная страница
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.032 c
3-71470
Alecs
2003-09-02 12:27
2003.09.22
Работа с ISQL.exe из командной строки


3-71559
AlexWeb
2003-08-29 11:07
2003.09.22
Как использовать серверный курсор в IBX компонентах?


6-71806
tm
2003-07-21 11:37
2003.09.22
TServerSocket - как узнать что клиент до сих пор подключен


1-71755
ruslan_as
2003-09-10 10:18
2003.09.22
Как вложить файл PDF в мой EXE


3-71555
nikkkk
2003-09-02 11:28
2003.09.22
Вопрос по настройке языкового драйвера