Codegen was still done via LLVM. LLVM supports the MSVC _runtime_, here they're talking about using their (arguably worse) backend directly to generate code and do optimisations
... but why? The MSVC backend has been falling far behind LLVM with every release. I understand they want uniformity but IMHO either they catch up or they switch fully to LLVM, if they can
COM is the main delivery mechanism for Windows APIs since Windows Vista.
After the Longhorn reboot all the .NET based APIs were remade in COM, while WinRT introduced in Windows 8, adds a new base interface, replaces type libraries with .NET metadata, and requires an application identity.