Virtual Disk SDK - это компонент для создания виртуальных дисков, альтернатива CallbackDisk от этих господ
Для просмотра ссылки Войди или Зарегистрируйся
Диск может быть смонтирован как CD или как HDD, флоппи пока не поддерживаеться
Обработка событий происходит в юзермоде, поэтому довольно легко можно прикрутить любое шифрование
Код:
function TForm1.OnDiskRead(Sender: TObject; Buffer: Pointer; Length: DWORD; var BytesRead: DWORD; Offset: Int64): BOOL;
begin
if (Offset + Length <= (Sender as TFileDisk).FileStream.Size) then
begin
(Sender as TFileDisk).FileStream.Seek(Offset, TSeekOrigin.soBeginning);
BytesRead := (Sender as TFileDisk).FileStream.ReadData(Buffer, Length);
end
else
BytesRead := 0;
Result := True;
end;
function TForm1.OnDiskWrite(Sender: TObject; Buffer: Pointer; Length: DWORD; var BytesWritten: DWORD; Offset: Int64): BOOL;
begin
if (Offset + Length <= (Sender as TFileDisk).FileStream.Size) then
begin
(Sender as TFileDisk).FileStream.Seek(Offset, TSeekOrigin.soBeginning);
BytesWritten := (Sender as TFileDisk).FileStream.WriteData(Buffer, Length);
end
else
BytesWritten := 0;
Result := True;
end;
Delphi XE2, XE3, XE4, XE5, XE6, XE7 - 32/64 бит, ОС Windows XP, Vista, 7, 8, 8.1 - 32/64 бит
Бесплатен для некомерческого использования, для себя любимого и т.д., то есть без извлечения прибыли
Для просмотра ссылки Войди или Зарегистрируйся