[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 431
  • Last Modified:

IShellFolder::SetNameOf() calls with Output PIDL NULL

In my Shell Namespace Extension, IShellFolder::SetNameOf() insist on calling my extension with the return* PIDL set to NULL. All other parameters appear OK ? Why is this happening.
0
RONOS
Asked:
RONOS
1 Solution
 
MirkwoodCommented:
Hmm, that's a long time ago.
I think NULL is a legal value for the explorer to give to you since it is not interested in the new PIDL. So everything seems ok. Just don't give him a new PIDL in this case.
0
 
RONOSAuthor Commented:
Yes, Although NULL is valid, the Actual Namespace PIDL is not being upgraded to the new name given by the user. Its reverts back to the original name. The original PIDL was not released, since the new one could not be provided, and the new one could not be provided since the return PIDL was NULL. DEADLOCK! So, whu did explorer give me a NULL return PIDDLE value ?
0
 
LischkeCommented:
RONOS,

null PIDL is ok, if the shell doesn't need it. Another thing is that you should'n change the original PIDL passed to SetNameOf else the update of the explorer tree will fail.

What you need to do to is to call:

SHChangeNotify(SHCNE_UPDATEDIR,SHCNF_IDLIST | SHCNF_FLUSH,FLocation,null);

in SetNameOf after you have stored the new name, where FLocation is the absolute PIDL of your shell folder, passed in from IPersistFolder.Initialize.

Hope this helps,

Ciao, Mike
0

Featured Post

Upgrade your Question Security!

Add Premium security features to your question to ensure its privacy or anonymity. Learn more about your ability to control Question Security today.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now