We are developing an encryption filter driver to protect pdf files. When a user wants to access a protected file, if he/she has permission to access, we create a plain file for encrypted file in a special local path and reparse to it. For this purpose in filecreate we do following steps:
- Copy the new file name to FileObject->FileName
- Irp->IoStatus.Status = STATUS_REPARSE;
- Irp->IoStatus.Information = IO_REPARSE;
- Return STATUS_REPARSE
And immediately receive a createfile for new (target) file.
The problem occurs when user open a protected file on network drive. After returning STATUS_REPARSE, we don?t receive any createfile for target file.
We have some questions:
- Is it possible to reparse a remote file to a local one?
- Or must be reparse to a file on same network drive? If we don?t have write access to network drive, how to create the target file?