Собственные вызовы во взаимодействии COM-клиента и .NET-сервера

#c# #c #interop #call #native

#c# #c #взаимодействие #вызов #собственные

Вопрос:

Я создал C pplication, в котором размещена C # DLL (COM Client -> .NET Server). Теперь я могу использовать DLL-классы C # в своем приложении на C . Теперь у меня вопрос: как я могу предоставить внешние функции в COM-клиенте и использовать их в моей C # DLL? Я хочу что-то вроде этого:

  1. Запуск приложения на C
  2. C создает объект из C # DLL
  3. Приложение C вызывает метод из этого объекта
  4. Выполняется метод C #
  5. Метод C # вызывает собственную функцию из приложения C

Итак, я добился того, что приступил к шагу 4. Я не могу понять, как я делаю шаг 5.

Комментарии:

1. Я использовал этот учебник: msdn.microsoft.com/en-us/library/2w30w8zx(v=vs.110).aspx

2. Вам следует подумать об обратных вызовах. Событие — очевидный способ. Или, в более общем смысле, объявите интерфейс в вашем проекте C #, который код C реализует и предоставляет, передавая указатель интерфейса методу C #.