If you can avoid this, do not use it. In my last project, COM put a lot of restrictions on the C ++ interfaces used. Imagine that you cannot just pass std :: string, but you must use an array of characters. In this case, you create a string and then copy it to an array that can be processed by COM.
You can also use a very limited set of fundamental types, have fingerprints and patented memory management. You cannot use new / delete, but you must use your own COM functions.
You also cannot just throw an exception, but you must initialize some IErrorInfo COM interface, which will be deleted on the other end.
So, if you do not need it, do not use it. It definitely instills your design. And if you need it, try to evaluate other possibilities of interaction: boost :: interprocess, zeroc ice ...
Hi,
Hovhannes
ovanes
source share