https://bugs.winehq.org/show_bug.cgi?id=50036
--- Comment #7 from Zebediah Figura z.figura12@gmail.com --- (In reply to Erich E. Hoover from comment #6)
(In reply to Zebediah Figura from comment #5)
... It seems a bit questionable to me, personally, since reparse point behaviour is visible in a lot of ways and you'd basically need to hack all of them to avoid letting the application know.
I don't have a lot of free time at the moment, but I can throw something together if you're interested. There's only a couple fundamental places that the reparse behavior is currently exposed (one on the server side and one in ntdll), as everything else is done at a higher level using the more primitive components. So, the idea would be that on creation you would give the special reparse tag but then any time you go to "read" it that the special tag would cause you to treat it as a regular file.
I'd be interested to see it. I guess maybe it's not necessarily as difficult as I feared.
It's worth pointing out that we really could use tests for what happens when you call various file functions with FILE_FLAG_OPEN_REPARSE_POINT. The trick is that we need to make sure that even if a system32 file is opened therewith, all operations should treat it as if it wasn't.