Уже есть ответ на вопрос о передаче обратного вызова C++ в метод COM внутри процесса. Но тот же метод не работает для использования вне процесса.
У меня есть интерфейс С#, и у него есть метод, который регистрирует обратный вызов/делегат с двумя параметрами.
void ProcessNotification(ConsoleNotificationType type, IntPtr parameter);
Этот интерфейс C# регистрируется с помощью внепроцессной COM-конфигурации (exe-файл). Теперь я хочу передать в этот метод функцию обратного вызова C++, но Visual Studio выдает ошибку:
InvalidFunctionPointerInDelegate
Итак, как я могу передать свою функцию обратного вызова C++ в регистрирующую функцию обратного вызова интерфейса?