Полезно знать, спасибо!

у библиотеку C # для использования родным приложением C ++. Я использую C ++ / CLI в качестве механизма взаимодействия.

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

Func (LPCWSTR pszString);

Есть и другие параметры, но они несущественны для этого обсуждения.

Я искал net и нашел метод Marshal.GetDelegateForFunctionPointer, который я могу использовать. Проблема в том, что он преобразует System.String из C # в char *, а не в wchar_t *, который я ищу.

Кроме того, каков наилучший метод для достижения этого примера кода, включая часть C ++ / CLI, если это возможно. C ++ / CLI DLL зависит от C # DLL. Метод должен вызываться синхронно.

Ответы на вопрос(2)

Ваш ответ на вопрос