Блокировка создания файлов в Windows10 - PullRequest
0 голосов
/ 11 февраля 2019

Мне нужно создать приложение для блокировки файлов в папке, я пытался увидеть некоторые примеры минифильтров, но все еще не понимаю, как это сделать.Нашел этот кусок кода, который выполняет обработку.Это ссылка на пример https://github.com/Microsoft/Windows-driver-samples/tree/master/filesys/miniFilter/minispy

CONST FLT_OPERATION_REGISTRATION Callbacks[] = 
{
{ IRP_MJ_CREATE,
  0,
  SpyPreOperationCallback,
  SpyPostOperationCallback },

{ IRP_MJ_WRITE,
  0,
  SpyPreOperationCallback,
  SpyPostOperationCallback },

{ IRP_MJ_SET_INFORMATION,
  0,
  SpyPreOperationCallback,
  SpyPostOperationCallback },

  { IRP_MJ_CLOSE,
  0,
  SpyPreOperationCallback,
  SpyPostOperationCallback },

   { IRP_MJ_OPERATION_END } };

1 Ответ

0 голосов
/ 14 февраля 2019

Итак, короче говоря, каждый вид открытия или создания файла заканчивается обратным вызовом IRP_MJ_CREATE.Вы можете получить имя файла, который будет открыт (или создан), а также имя папки и т. Д. (FltGetFileNameInformation) и решить, следует ли разрешить запрос (возврат FLT_PREOP_SUCCESS_NO_CALLBACK, который позволяет продолжить запрос) или установить IoStatus что-то вродеSTATUS_ACCESS_DENIED и вернуть FLT_PREOP_COMPLETE, чтобы заблокировать запрос.Это, в двух словах, то, что ваш фильтр должен делать, чтобы блокировать создание файлов в определенной папке.

...