|
#1
|
|||
|
|||
Virtual Disk SDK
Virtual Disk SDK - это компонент для создания виртуальных дисков, альтернатива CallbackDisk от этих господ https://www.eldos.com/cbdisk/
Диск может быть смонтирован как 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; http://www.delphisources.ru/forum/at...d=149744018 5 Delphi XE2, XE3, XE4, XE5 - 32/64 бит, ОС Windows XP, Vista, 7, 8, 8.1 - 32/64 бит Бесплатен для некомерческого использования, для себя любимого и т.д., то есть без извлечения прибыли Скачать ССЫЛКА ОБНОВЛЕНА Последний раз редактировалось Zorkov Igor, 14.06.2017 в 14:37. |
#2
|
|||
|
|||
Работает, по крайней мере демка.
Вообще, неплохо было бы какую-нить доку доложить. И манифест поправить, что бы права администратора сразу запрашивались. ЗЫ. Кстати, диск создается неформатированный. А как за собой почистить файл, если хочется удалить его после работы программы? Точнее отцепить его, бо как он для удаления тоже требует права админа. ЗЗЫ. Кстати, а можно ли создать диск на основе существующего файла, например, образа iso? |
#3
|
|||
|
|||
Цитата:
Указать путь к файлу iso, отметить галку cd rom и диск смонтируеться как привод cd |
#4
|
||||
|
||||
По чем нынче сертификаты безопасности стОят?
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#5
|
|||
|
|||
Сейчас не знаю
|
#6
|
|||
|
|||
Добалено демо RamDisk
|
#7
|
||||
|
||||
А можно исходник драйвера?
Я понимаю что там тривиально все, обработчики в драйверэнтри навешаны, но может быть кому-то было бы интересно посмотреть как выглядят драйвера изнутри. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#8
|
|||
|
|||
Цитата:
http://www.acc.umu.se/~bosse/ |
#9
|
|||
|
|||
Цитата:
А что с тем, что файл можно удалить только с правами админа? Кстати, обратил внимание, что где-то в исходниках видел копирование драйвера в системную папку. А нафига? (может я и не прав, но вроде что-то такое видел). |
#10
|
|||
|
|||
Цитата:
Все правильно драйвер копируеться в папку windows\system32\drivers, там как раз и место для всех драйверов в системе Цитата:
Это уже зависит от вашей винды, что и как у вас там удаляется, то что для работы программы требуется права администратора это да |
#11
|
||||
|
||||
Что-то не получается запустить примеры, выскакивает окошко
(Windows 7 x64) Цитата:
Делал так: Драйверы VirtualDisk.dll поместил в System32, а VirtualDisk.sys в drivers Файл запускал от имени админа. После некоторых проб выскакивает окошко: --------------------------- Ram Disk --------------------------- Failed to initialize Virtual Disk library - Не найден указанный модуль Разъясните, что не так |
#12
|
|||
|
|||
Ничего не надо ни куда помещать, VirtualDisk.dll и VirtualDisk.sys должны быть в папке с exe
Virtual Disk SDK 1.1 |
#13
|
||||
|
||||
Так и делаю и получаю:
|
#14
|
|||
|
|||
Версия 1.1 ?
|
#15
|
|||
|
|||
А зачем ISO в RAM диск? дофига оперативки?
|