Indication of reparse point

I’ve read some documents about reparse point and a question holds me up:

when is the first indication that my filter driver encountered a reparse

point$B!$(Bpre-create or pos-create$B!)(B

As far as I know, it seems that the encounter happens when the lower

file system drivers returned. Thus, I need to build my own create IRP

using the data in the reparse point tag to get the target file I wish to
redirect

to. I’m not sure if I am right.

Could anybody please help me.

Thanks in advance.

This thread which is somewhat recent might be of help to you
http://www.osronline.com/showThread.cfm?link=89702

“Xiong Weiwei” wrote in message news:xxxxx@ntfsd…
I’ve read some documents about reparse point and a question holds me up:

when is the first indication that my filter driver encountered a reparse

point$B!$(Bpre-create or pos-create$B!)(B

As far as I know, it seems that the encounter happens when the lower

file system drivers returned. Thus, I need to build my own create IRP

using the data in the reparse point tag to get the target file I wish to
redirect

to. I’m not sure if I am right.

Could anybody please help me.

Thanks in advance.

thank u so much!

Also another simple question:

As I know, before set the create completion routine,
IoCopyCurrentStackLocationToNext funtion is invoked, and then IoCallDriver
is called.
After the lower-layer driver completed its work, the create completion
routine
of current driver is called.

What I want to know is: Would the lower-layer driver modify the
current layer driver’s IO_STACK_LACATION parameters if
IoCopyCurrentStackLocationToNext is called?

What if IoSkipCurrentStackLocation is called(with no completion routine
is set)?

I think the ‘skip’ routine just points the lower-layer’s io_stack_location
to the
current layer’s one, so it would be modified after the low-layer driver
returned, while ‘copy’ routine copies it to the lower-layer driver, in which
it modified its own io stack, without affecting the current layer’s
io_stack_location’s parameter.

Then how the lower layer driver send its modification in io_stack_location
to the higher layer?

Will someone please unpuzzle this to me? Thanks in advance!