Microsoft COM? It’s the foundation for a lot of the Windows API and was explicitly designed to be usable from non-C languages.
Although at least a lot of it can be setup with automated tooling. Although the interface seems to also have a lot more overhead than a basic function call. I hardly would call it a better situation.