Hi,
I am developing encryption file system filter driver.In my filter dirver,i hook the local file system and lanman redirector’s writing operation and encrypt the data.It works fine for local file system(both notepad and doc are ok).However,when i opened a *.doc file(notepad files is ok) which was on the remote, writed something into it and saved it,the problem came along:the changed doc could not be saved and the WINWORD.EXE gave me an error like “disk is full or memory is not enough”.What did happen?
I has reviewed most of the posts about the similar problem in the list.And i also noticed the *.tmp file of the WINWORD.When i traced the process in my filter,i found that,in the dispatch entry pointer for the IRP_MJ_SET_INFORMATION of my filter,the saving process of doc to local file system dealed with some IRPs like this:
— some IRPs with the FileInformationClass==FileEndOfFileInformation and FileInformationClass==FileEndOfFileInformation
— IRP with the FileInformationCalss == FileRenameInformation
— IRP with the FileInformationCalss == FileDispositionInformation
while,i couldn’t find the IRP with the FileInformationCalss == FileRenameInformation in the saving process of doc which existed in the remote.Why the WINWORD deal the file saving differently between local file system and rdr? What did happen really? Who give me some advice to solve it will be greatly appreciated!
thanks
Frank Zhou