Plugins (C++): How to code a Dopus compatible shell namespace 'extension'?

Hello there Dopus developer community... just purchased Dopus finally and had a question.

I recently submitted a feature request for Dopus to provide users the ability to define their own "Customer Virtual Folders" that they could place where they want within the folder tree hieracrhy. The idea would be to let people create "Their Documents" type folders that would point to wherever they would want on any disk, sort of like what we have now with "Favorites" or "Folder Aliases" in Dopus, but more directly integrated into the normal folder tree structure. Why should we settle for Microsofts idea of what "MY" Documents should be... so many applications like to install stuff into My Documents that I'd rather seperate out important folders to me like "MY Music" and such at the same high level tree position as Windows default My Documents folder rather than inside of it...

Favorites doesn't quite cut it, though Nudel read my mind in a reply regarding extending the "Folder Alias" feature so that they could be able to be represented in the Folder Tree rather than just accessible through internal Dopus functions/commands.

I then recalled a topic raised in support regarding a "Nomad Explorer Conflict" where Nudel asked whether or not the Nomad was a mass-storage device or a special explorer namespace extension. He commented that:

And so rather than just ask GP to endlessly add new features (tho I still think this would be a cool ability for Dopus to provide - and much more useful than Favorites) I was wondering how I could find out how to code my own shell namespace extsions in a way that would conform to whatever Dopus would need for compatability. I plan on giving it a stab after doing some research on MSDN some more, but is there some sort of SDK for Dopus that would provide this info - to ensure that any attempt to create my own namespace extension would work properly within Dopus?

[quote]
steje wrote:
And so rather than just ask GP to endlessly add new features (tho I still think this would be a cool ability for Dopus to provide - and much more useful than Favorites) I was wondering how I could find out how to code my own shell namespace extsions in a way that would conform to whatever Dopus would need for compatability. I plan on giving it a stab after doing some research on MSDN some more, but is there some sort of SDK for Dopus that would provide this info - to ensure that any attempt to create my own namespace extension would work properly within Dopus?[/quote]

[ul][li]Implement IShellFolder, IShellView and associated interfaces as per the Microsoft SDK[/li]
[li]Don't make assumptions about the window class or application that will be hosting you[/li]
[li]Don't assume that you will only be called on a single thread[/li]
[li]Try it and see :slight_smile:[/li][/ul]

The truth is, we don't really know why some namespace extensions don't work. All the standard Microsoft namespaces work fine, so you would think all third-party ones would too.

Write one and see how it performs - if there's a problem, talk to me and we can solve it!

Ok, well thanks Jon... I'll give it a go soon and see how it turns out. Thanks for the swift reply...