Это зависит от ваших предпочтений и от того, как настроен компонент .NET.
Обертывание в COM работает нормально и дает вам объектный интерфейс, который обычно хорош.Вы также получаете библиотеку типов, которая хороша, если интерфейс сложен.
Для API с простым интерфейсом я обычно предпочитаю делать обертку в C ++ / CLI.Затем оболочка имеет прямой доступ к компоненту .NET, и вы можете легко экспортировать функции оболочки с помощью __declspec (dllexport).Часто этот тип оболочки настраивать быстрее, чем настраивать COM.
Вот несколько ссылок, которые могут оказаться полезными:
http://www.codeproject.com/KB/dotnet/bridge.aspx
Как использовать управляемый код из неуправляемого кода?