Given that Managed C++ was part of .NET 1.0, replaced with C++/CLI with .NET 2.0, and one of the first things I did with .NET was a bindings library for a RPC framework written in C, via Managed C++, I wonder what Microsoft was telling you it cannot be done.
we had to call a serial port and according to MSFT compiler team, C# 1.0 (it was basically the first public release off C#) it couldn't talk to C control library we had to use from vendor, so somehow hacked a C# to C++ to C thing and back again at the time. Then they were like oh, ok ya, that could work after it was done
timeframe was circa 2002-2004 give or take, the C lib we had to use was closed source