Re[5]: механизм перенаправления операций с файлами
От: Old Nick Россия  
Дата: 14.06.07 16:37
Оценка:
Здравствуйте, regiomontanus, Вы писали:

ON>>Поменять имя в Irpе:

ON>>IrpSp = IoGetCurrentIrpStackLocation(Irp);
ON>>IrpSp->FileObject->FileName = NewFileName;
ON>>IrpSp->FileObject->RelatedFileObject = NULL;

R>Да, но придется во многих обработчиках это делать?


Вы вернете хендл на файл и далее пользователь будет работать с этим хендлом.
Так что не во многих...

R>Т.е. можно ставить фильтр на устройство харддискволуметакой-то

R>и при MJ_CREATE например так делаем? Есть же еще fastio, фаловых фильтров я не писал ранее, поэтому есть сомнения, что все так просто

FastIo на открытие можно убрать.
Возвращайте FALSE в FastIoQueryOpen.

В качестве примера рекомендую взять sfilter.
Он практически представляет из себя болванку для написания фильтр-драйвера файловой системы.
Небольшое количество кода по измерению производительности легко из него изымается.

Некоторые проблемы будут с определение имени файла, который пользователь хочет открыть.
IrpSp->FileObject->FileName не всегда содержит полный путь...
NNK
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.