Здравствуйте, 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 не всегда содержит полный путь...