Чтобы добавить пользовательский режим опции разработки драйвера файловой системы:
- Dokan - с открытым исходным кодом, с интерфейсами для C, .NET, Java, Ruby, FUSE.
- CBFS (Файловая система обратного вызова) - коммерческая, с хорошей документацией.
Эти решения работают как FUSE (Файловая система в программном режиме пользователя для Linux). Они выполняют всю сложную работу в ядре и передают адаптированные запросы вашему приложению пользовательского режима.
Dokan не хватает некоторых функций, как в текущей версии, но я думаю, что проще внести в него и добавить необходимые функции, чем сделать драйвер файловой системы с нуля.
Dokan также является хорошим примером кода драйвера в режиме ядра.