Привет всем!
Кто знает как отловить момент обращения к файлам на диске (операции чтения, записи, чтения/записи атрибутов, доступа и т.п.) и затем запретить/разрешить к нему доступ?
Пишется сервис Windows NT, который в зависимости от определенной логики будет предоставлять доступ к файлам (на чтение, запись, полный доступ, даже на вывод файла в списке папки, т.е FindFirst/FindNext его уже не увидят). Причем методами security windows не годится (пользователи, права),
т.к.
1) доступ к файлам будет осуществляться и по сети с машин с 98 windows
2) доступ может меняться "на лету" в зависимости от различных условий
3) другие причины, долго объяснять
Т.е. задача уже свелась только к такому варианту: отловить обращение к файлам и вернуть программе разрешать или не разрешать чтение, запись и т.п.
Возможные варианты решения:
1. Системными средствами, установить фильтр посредством callback функции, вызывающейся при любом обращении к файлу (но долго копал MSDN и ничего подходящего не нашел)
2. Как то использовать возможности драйвера NTFS. (задачу достаточно решить для ntfs файловой системы, но никогда подобным не занимался и где копать? )
3. Писать свой драйвер, который будет отслеживать обращения к диску. (но здесь тоже еще темный лес)
Подскажите, если кто знает,занимался подобным вопросом или хотя бы укажите направление поисков. А может еще где можно спросить?
Спасибо всем!
Кто знает как отловить момент обращения к файлам на диске (операции чтения, записи, чтения/записи атрибутов, доступа и т.п.) и затем запретить/разрешить к нему доступ?
Пишется сервис Windows NT, который в зависимости от определенной логики будет предоставлять доступ к файлам (на чтение, запись, полный доступ, даже на вывод файла в списке папки, т.е FindFirst/FindNext его уже не увидят). Причем методами security windows не годится (пользователи, права),
т.к.
1) доступ к файлам будет осуществляться и по сети с машин с 98 windows
2) доступ может меняться "на лету" в зависимости от различных условий
3) другие причины, долго объяснять
Т.е. задача уже свелась только к такому варианту: отловить обращение к файлам и вернуть программе разрешать или не разрешать чтение, запись и т.п.
Возможные варианты решения:
1. Системными средствами, установить фильтр посредством callback функции, вызывающейся при любом обращении к файлу (но долго копал MSDN и ничего подходящего не нашел)
2. Как то использовать возможности драйвера NTFS. (задачу достаточно решить для ntfs файловой системы, но никогда подобным не занимался и где копать? )
3. Писать свой драйвер, который будет отслеживать обращения к диску. (но здесь тоже еще темный лес)
Подскажите, если кто знает,занимался подобным вопросом или хотя бы укажите направление поисков. А может еще где можно спросить?
Спасибо всем!