Ваш драйвер должен предоставлять виртуальное устройство для открытия приложения пользовательского режима и взаимодействия с ним (часто через IOCTL).
Это полностью не зависит от слоев устройств файловой системы, с которыми вы уже работаете.
Когда ваш драйвер создает это новое виртуальное устройство, он может устанавливать разрешения, позволяющие открывать его любому пользователю, только администраторам с повышенными правами и т. Д.
В качестве заключительного замечания, все, что вы упомянули (наблюдение за монтированием, размонтирование и перемещение файла), уже встроено в Windows. Я не знаю, почему вы пишете драйвер, когда вы можете использовать WM_DEVICECHANGE
(для монтирования / размонтирования) и журналы FindFirstChangeNotification
/ ReadDirectoryChangesW
и / или NTFS для обнаружения MoveFile.