Hello, Gurus.
Now I am maintaining filesystem filter driver and it watches
IRP_MJ_SET_INFORMATION and FileInformationClass==FileRenameInformation. When
it gets that IRP, it saves source file name and destination file name both.
Our filter driver do:
- Catch IRP_MJ_SET_INFORMATION and
FileInformationClass==FileRenameInformation
- Get source file name (this is actually done in IRP_CREATE IRP handler.
Our filter driver keep it until IRP_CLOSE is sent.
- Call lower device driver via IoCallDriver and wait for completion of
lower device for IRP_MJ_SET_INFORMATION.
- Get destination file name, our filter driver allocates and builds
IRP_MJ_QUERY_INFORMATIOn and FileNameInformation, calls IoCallDriver to
pass IRP to lower device (real filesystem driver) to query file name after
renaming. Our filter driver also wait for completion of lower device.
This works fine for local filesystem, for remote filesystem, our filter
driver recieves same file name as before renaming.
Is there any solution for this? Is there any different wat to get
destination file name for rename?
I really appriciate your advice.
Thank you,
Hideyuki Inamasu.
http://www.osronline.com/article.cfm?id=85
“Hideyuki Inamasu” wrote in message
news:xxxxx@ntfsd…
> Hello, Gurus.
>
> Now I am maintaining filesystem filter driver and it watches
> IRP_MJ_SET_INFORMATION and FileInformationClass==FileRenameInformation.
> When it gets that IRP, it saves source file name and destination file name
> both.
>
> Our filter driver do:
>
> 1. Catch IRP_MJ_SET_INFORMATION and
> FileInformationClass==FileRenameInformation
> 2. Get source file name (this is actually done in IRP_CREATE IRP handler.
> Our filter driver keep it until IRP_CLOSE is sent.
> 3. Call lower device driver via IoCallDriver and wait for completion of
> lower device for IRP_MJ_SET_INFORMATION.
> 4. Get destination file name, our filter driver allocates and builds
> IRP_MJ_QUERY_INFORMATIOn and FileNameInformation, calls IoCallDriver to
> pass IRP to lower device (real filesystem driver) to query file name after
> renaming. Our filter driver also wait for completion of lower device.
>
> This works fine for local filesystem, for remote filesystem, our filter
> driver recieves same file name as before renaming.
>
> Is there any solution for this? Is there any different wat to get
> destination file name for rename?
>
> I really appriciate your advice.
>
> Thank you,
> Hideyuki Inamasu.
>