Greetings,
In the CloudMirror sample in Package.appmanifest of the packaging project we read:
<desktop3:Extension Category="windows.cloudFiles">
<desktop3:CloudFiles>
........
<desktop3:CloudFilesContextMenus>
<desktop3:Verb Id="Command1" Clsid="165cd069-d9c8-42b4-8e37-b6971afa4494" />
</desktop3:CloudFilesContextMenus>
........
</desktop3:CloudFiles>
</desktop3:Extension>
<com:Extension Category="windows.comServer">
<com:ComServer>
......
<com:ExeServer DisplayName="Cloud Mirror Command Handler" Executable="CloudMirror\CloudMirror.exe">
<com:Class Id="165cd069-d9c8-42b4-8e37-b6971afa4494" />
</com:ExeServer>
......
</com:ComServer>
</com:Extension>
It becomes obvious that objects that implement the respective COM interfaces are hosted inside the same process/executable which is also the storage provider (implements the CldApi callback methods).
In view of this, my question is whether this is the correct/recommended way to implement shell extensions for cloud storage providers or did the author of the sample did it like that for simplicity's sake?
I can see pros and cons to either implementing COM objects in the same process or in a separate one and am currently trying to make the best possible decision based on what I know and what I am finding out in the process of my investigations.
Any advice would be mostly appreciated!
Regards,
Stefan