如何使用Delphi从USB存储设备读取原始块?

iva*_*rec 7 filesystems delphi usb

我正在处理包含专有文件系统的USB存储设备.因此,我需要读取这些设备的512字节块来实现此文件系统的查看器.

我该怎么办呢?使用Delphi有一些材料吗?

opc*_*0de 7

我讨厌组件所以这里是一些代码

 var 
    RawMBR : array [0..511] of byte;
    btsIO  : DWORD;
 begin
  hDevice := CreateFile('\\.\PHYSICALDRIVE1', GENERIC_READ,
      FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
    if hDevice <> INVALID_HANDLE_VALUE then
    begin
      SetFilePointer(hDevice,512 * 0,nil,FILE_BEGIN); // replace 0 with sector that you wish to read
      ReadFile(hDevice, RawMBR[0], 512, btsIO, nil);
      CloseHandle(hDevice);
    end;
  end;
Run Code Online (Sandbox Code Playgroud)