Использование COM для RPC из C ++ в C # - PullRequest
2 голосов
/ 19 октября 2011

Мне нужно реализовать класс в C ++, который может вызывать функцию C # из неуправляемого C ++ и возвращать значение.Я сделал это с C ++ на C ++, используя привязку MIDL / RPC по именованному каналу, что прекрасно работает, но теперь мое серверное приложение переходит на C #, но клиент должен оставаться неуправляемым C ++ (это расширение проводника).

IЯ рассмотрел различные методы, и многие люди предлагают COM, насколько я понимаю, COM был не столько для IPC / RPC, сколько для размещения обслуживаемого объекта в клиентском приложении.Будет ли это возможно с COM, если так, может ли кто-нибудь указать мне в направлении хорошей ссылки или примера?

РЕДАКТИРОВАТЬ:

Просто чтобы быть ясно, я не могу использовать управляемый кодкак клиент (DLL) загружается в пространство процесса Explorer.

То, чего я пытаюсь добиться, - это когда пользователь щелкает правой кнопкой мыши файл, расширение запрашивает у запущенной службы (сеанс 0) некоторые сведения о файле.Ранее это было сделано через RPC в клиенте / сервере C ++ <-> C ++.Теперь сервер обновлен до C #, но я не уверен, какие у меня есть варианты.COM вариант?

Спасибо, J

1 Ответ

2 голосов
/ 19 октября 2011

Используйте смешанную CLR и собственную C ++ DLL.Проверьте MSDN и инструменты .

Собственная и .NET совместимость

...