Every Windows API that isn't exposed to .NET since Vista, does require COM interoperability
You did not say “if you are using WinRT/UWP”. Also you said “since Vista”. WinRT was released with Windows 8, UWP was released with Windows 10.
Also P/invoke is supported in WinRT https://stackoverflow.com/questions/8881335/pinvoke-in-metro...
So no, you are not required to use COM for Windows API even with WinRT.
Every Windows API that isn't exposed to .NET since Vista, does require COM interoperability
You did not say “if you are using WinRT/UWP”. Also you said “since Vista”. WinRT was released with Windows 8, UWP was released with Windows 10.
Also P/invoke is supported in WinRT https://stackoverflow.com/questions/8881335/pinvoke-in-metro...
So no, you are not required to use COM for Windows API even with WinRT.