[PATCH 2/3] shell32: Make ShellView listen for filesystem changes

Nigel Baillie metreckk at gmail.com
Wed Jan 9 12:02:43 CST 2019


On Wed, Jan 9, 2019 at 6:23 AM, Gabriel Ivăncescu 
<gabrielopcode at gmail.com> wrote:
> Well currently, parsing \\?\unix doesn't seem to work with the shell, 
> but we do have a pidl for /  (unix root), so such a pidl could 
> theoretically be constructed (I'd say it's a current limitation of 
> the shell but obviously an application could enumerate the Desktop 
> and get the pidl for the / folder).
> 
> But I mean, in such case, what are we going to replace a pidl like 
> |/|usr| into (assuming it's not accessible via any drive letter), as 
> a windows path pidl? Or maybe I'm misunderstanding something?
Even if we do have a Z:\ drive, we'd have to decide between C:\ and Z:\ 
paths. I suppose it could just notify on every equivalent path, 
defaulting to just using the unix pidl if Z:\ doesn't exist.

On 01/09/19 08:56, Nikolay Sivov wrote:
>>>> 
> Also it's
>>>> 
> what that affects results, but testing that could be helpful too.
> possible to use a number of different flags during registration, no 
> idea

That's a good point actually. In the Microsoft docs(1), 
SHCNRF_InterruptLevel mentions notificatiosn from the *file system* as 
opposed to the *shell*. Perhaps it'd make sense for 
shell32/changenotify.c to listen for filesystem events, and dish out 
shell notifications to listeners with that flag. I'll do some testing 
on Windows to see if my interpretation of the docs is correct. Does 
that sound like a better way to approach this?

1: 
https://docs.microsoft.com/en-us/windows/desktop/api/shlobj_core/nf-shlobj_core-shchangenotifyregister




More information about the wine-devel mailing list