Using reparse points in a filter driver

Hi folks,

I've written a filter driver that seats above different devices of file
systems drivers. I'm to redirect some create IRP's from one device to
another. I'm suppose to do this by using STATUS_REPARSE as a return code
from IRP_MJ_CREATE.

My target device must identify this redirected create. Well, I'm not sure
about this, but I'm assuming the PIRP and PFILE_OBJECT at the redirected
create might not be the same from original request. I'd like to work with
something like reparse points, that it is possible allocate some buffer from
source device that it'll be freed by my target device.

Is it possible to use reparse points to do this?
Is it possible using reparse points without having a reparse tag at ntifs.h?
If it is not possible, is there another way to implement this
identification?

Regards,

Fernando Roberto da Silva
DriverEntry Kernel Development

> My target device must identify this redirected create.

Create more device object “near” the target (not attached to it though) and
reparse to it.

Well, I’m not sure
about this, but I’m assuming the PIRP and PFILE_OBJECT at the redirected
create might not be the same from original request.

Surely they will not.


Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com