Добрый день.
Драйвер виртуального диска. Хочу залогировать из него файловые операции.
Через Irp->Tail.Overlay.OriginalFileObject для чтения и записи получаю имя файла с которым выполняется операция. А можно ли в принципе где-либо получить имя файла при операциях Delete, Rename? Или это только через отдельный File System Filter Driver, а до драйвера виртуального диска эта информация не доходит?
Здравствуйте, __Vol, Вы писали:
__V>Драйвер виртуального диска. Хочу залогировать из него файловые операции.
не находите противоречия? в драйвере диска Вы хотите работать с сущностями которых там и не было в помине — файлами
__V>Через Irp->Tail.Overlay.OriginalFileObject для чтения и записи получаю имя файла с которым выполняется операция. А можно ли в принципе где-либо получить имя файла при операциях Delete, Rename? Или это только через отдельный File System Filter Driver, а до драйвера виртуального диска эта информация не доходит?
не доходит конечно. Диск работает с секторами, а файлы — сущности файловой системы поверх него, про которую диску знать не нужно совсем.
... << RSDN@Home 1.2.0 alpha rev. 648>>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[2]: Можно ли логировать rename/delete в драйвере
Здравствуйте, Valery A. Boronin, Вы писали:
VAB>Здравствуйте, __Vol, Вы писали:
__V>>Драйвер виртуального диска. Хочу залогировать из него файловые операции. VAB>не находите противоречия? в драйвере диска Вы хотите работать с сущностями которых там и не было в помине — файлами
__V>>Через Irp->Tail.Overlay.OriginalFileObject для чтения и записи получаю имя файла с которым выполняется операция. А можно ли в принципе где-либо получить имя файла при операциях Delete, Rename? Или это только через отдельный File System Filter Driver, а до драйвера виртуального диска эта информация не доходит? VAB>не доходит конечно. Диск работает с секторами, а файлы — сущности файловой системы поверх него, про которую диску знать не нужно совсем.
Спасибо, понял. Я так и считал, но меня смутило то, что все-таки при чтении/записи можно достучаться до имени файла.
Re[3]: Можно ли логировать rename/delete в драйвере
VAB>>не доходит конечно. Диск работает с секторами, а файлы — сущности файловой системы поверх него, про которую диску знать не нужно совсем.
__V>Спасибо, понял. Я так и считал, но меня смутило то, что все-таки при чтении/записи можно достучаться до имени файла.
я бы назвал это некоторым удачным раскладом. но никогда бы не подумал на такой факт завязываться до тех пор, пока не увидел в MSDN/DDK официального текста, гарантирующего что в Irp->Tail.Overlay.OriginalFileObject действительно то что Вы говорите.
кстати для меня это сюрприз — ажно после такого сообщения перелопатил весь <DDK/IFS>\src — НИ ОДНОГО использования OriginalFileObject не только в src\storage и src\filesys, но и вообще в src! Одно это уже бы навело на мысли о некоем "удачном раскладе"
... << RSDN@Home 1.2.0 alpha rev. 648>>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.