We use SetOnReparseFileName to reparse file names. However, it looks like if several instances of our process are started (e.g. in different sessions on a terminal server) only the last instance gets this specific callback (doesn't matter what *UseNewFileName is). The other callbacks don't seem to be affected because the FileMon sample work when started twice.
So is there a way to say, I don't care about this specific filename in the reparse rule and in this callback, just use default and let the next filter (in chain) try?

So is there a way to say, I don't care about this specific filename in the reparse rule and in this callback, just use default and let the next filter (in chain) try?

It should work as described, except one case, when any user callback in the callback filters chain returns FALSE in RequestAccepted parameter or raise an exception from callback handler. Is it possible that one of your filter instance return false or throw an exception from pre-create callback ? Reparse is processed right after create callback and the last one may change the flow of callbacks so that reparse callback will be skipped.

This is a bug in user mode code. It will be fixed in the incoming build. The reason of problem is next - when reparse callback returns nothing in NewFileName buffer it forced to return error status from callback and filters chain interrupted.

We use cookies to help provide you with the best possible online experience. By using this site, you agree that we may store and access cookies on your device. You can find out more about and set your own preferences here.