COM is primarily used in-process, it exposes an ABI that allows multiple languages to operate on a common object model within the same process. That's why you can import COM controls into a .Net application by referencing the DLL in your project and work with them as if they were native CLR objects - or Python, Ruby, Perl, etc. for that matter.
It lets you use libraries written in numerous supported languages with a richer, more object oriented interface than a C ABI. You can use the same underlying interface to call out of process or distributed objects.
Re:Rust/WinRT Public Preview
by Ididntdothis on Thursday April 30, 2020 @06:25PM
(#23036947)
COM is Common Object Model. What you mean is OLE. In process COM calls are basically direct DLL calls and therefore very fast.
I thought COM was meant to communicate between processes?
Any enlightenment is appreciated...