Essentials of COM Interop
Interoperability with COM from inside managed code applications is based on a few essential concepts:
Dispatch services to reach out to COM component operations, allowing one to make calls using (seemingly) regular .NET methods, properties, and so on. The CLR and various auxiliary libraries make this possible. For COM gurus, this includes the ability to obtain COM interfaces, deal with co-classes, and so on.
Marshaling services solve the impedance mismatch between the type systems of the CLR and COM, with regard to primitive ...