Как заблокировать перезапись файла на сетевом диске с помощью минифильтра файловой системы - PullRequest
0 голосов
/ 14 марта 2019

Я создал драйвер минифильтра, чтобы заблокировать доступ к файлам на сетевом общем диске.Работает нормально.Здесь я сталкиваюсь с проблемой, не в состоянии заблокировать редактирование файла в нем.Я проверил следующие значения флага в методе miniprecreate.FILE_OVERWRITE, FILE_WRITE_DATA, FILE_APPEND_DATA, FILE_WRITE_ATTRIBUTES, FILE_WRITE_EA Вот пример кода, который я использовал.

if((Data->Iopb->Parameters.Create.Options >> 24) ==FILE_APPEND_DATA )                           
                    {

                        Data->IoStatus.Status=STATUS_ACCESS_DENIED;
                        Data->IoStatus.Information=0;
                        FltReleaseFileNameInformation(FileNameInfos);
                        return FLT_PREOP_COMPLETE;
                    }

Но не удается заблокировать редактирование файла.Заранее спасибо.Можете ли вы предоставить решение.

1 Ответ

0 голосов
/ 26 апреля 2019

зарегистрируйте IRP_MJ_WRITE и заблокируйте, используя тот же способ без if ((Data-> Iopb-> Parameters.Create.Options >> 24) == FILE_APPEND_DATA)

...