Чтобы справиться с этим правильно, вы можете создать DLL-оболочку (используя ту же версию среды выполнения MFC / C ++, на которую вы хотите вызвать), и убедитесь, что он принимает тот же массив в виде, скажем, традиционного указателя насобственный массив C ++.
Эта DLL-оболочка может быть вызвана из C #.
Вы можете попробовать использовать более новую версию MFC (и использовать C ++ / CLI для маршаллинга), но затемnew CArray
может быть двоичным несовместимым с тем, что ожидает устаревшая библиотека.