Можно ли отследить файловые операции с .NET?

Возможно ли, когда файловая операция вызывается каким-либо образом - например, открыть или закрыть - что я могу обработать ее до того, как операционная система выполнит запрос, и, если возможно, отменить ее с помощью.СЕТ? Если у .NET нет таких способностей, как я могу это сделать?

Ответы на вопрос(4)

если хотите. Проверьте этот способ сделать это в .NET / C #:

EasyHook Windows API

nitor, одной из функций которого является подключение к произвольным процессам Windows (включая приложения .NET) и захват системных вызовов, включая открытие, закрытие, чтение и т. Д. Файлов

Вы можете скачать его на Process Monitor Страница загрузки.

РЕДАКТИРОВАТ

Пока я перечитываю ваш вопрос, я вижу, что вы спрашиваете о перехвате и, возможно, отмене таких операций. Я считаю, чтоFileSystemWatcher class будет вашим лучшим выбором, хотя я не думаю, что он может отменить файловые операции в одностороннем порядке - вам нужно создать какой-то кооперативный механизм, чтобы дать сигнал вызывающей стороне прервать его работу.

что вы должны войти в ядро для такой операции, и я уверен, что это означает, что вам нужно кодировать на C. Посмотрите на Файловые системные драйверы.

ОБНОВЛЕНИЕ: это SO link может помочь.

UPDATE: добавлен поиск в Google для Драйверы файловой системы Windows

ТАКЖЕ Что такое хороший ресурс для начала разработки драйвера файловой системы Windows?

что ты просишь сделать, можно сделать. Например, вирусные сканеры делают это постоянно. Вы можете легко отслеживать активность файлов с помощью Process Monitor. Вы также можете сделать это программно в C #, используяFileSystemWatcher Class. Но попытка предотвратить запуск программы или запрет доступа программы к файлу невозможна в C #. Вам нужно будет использовать либо C, либо C ++. Вам нужно создать Драйвер системного фильтра. Это сложная вещь для сборки, но это именно то, что вам нужно. Цитировать MSDN:

A file system filter driver intercepts requests targeted at a file system or another file system filter driver. By intercepting the request before it reaches its intended target, the filter driver can extend or replace functionality provided by the original target of the request. Examples of file system filter drivers include anti-virus filters, backup agents, and encryption products.

ВАШ ОТВЕТ НА ВОПРОС