Microsoft has two major Interop technologies: COM Interop and Platform Invocation Services (PInvoke). COM Interop has tools and technologies that allow .NET components and applications to use COM/DCOM/COM+ components and that allow Win32 applications and COM/DCOM/COM+ components to use .NET components. PInvoke allows .NET applications and components to call Win32, that is, non-COM DLLs. PInvoke is particularly useful for calling Win32 API functions, although you can also use it to call non-COM DLLs that you created yourself. All of these technologies are designed to be as seamless as possible. In other words, using a COM component from managed code feels just the same as using a managed component, and using a .NET component from unmanaged code feels just like using any other COM object.
18.118.12.50