I have a NSE with a view created by SHCreateShellFolderView
When moving (shift-drag in my case) a file 'foo.txt' from the NSE to
explorer, the copy happens correctly, then explorer does something
unexpected: it creates a new top-level ShellFolder of my namespace,
gets the context menu of the pidl associated with 'foo.txt', and
executes the delete verb on this file. This should complete the 'move'
operation.
At first, I was happy to see explorer doing so much work for me. But
Explorer always gets the **top-level** ShellFolder and asks it (via
GetUIObjectOf) for the context menu of the file, regardless of what
level the file is. So if I have a file "/one/two/foo.txt", then
explorer (really, the DefView) will still try to get the context menu
of this file from "/" - the top level folder.
I can work around this by making all of my PIDLs unique to the entire
namespace (rather than just the folder they are in), but this seems
unnecessary and a bug.
Has anyone else run into this?
Thanks,
-Chad Yoshikawa