Могу ли я делать такие вызовы: (win32 application)->(DLL function)->(.NET callback function)? Все работает по отдельности, но рушиться при совместной работе
Итак,
1. Есть win32 приложение, MetaTrader, если кто сталкивался. У него есть собственный С-like язык, на котором можно писать обращения к внешним DLL
2. Мною написана DLL(не COM), MetaTrader вызывает из нее функцию, без параметров.
3. Из этой DLL функции вызывается callback-функция из .NET-application (мое творение). При старте .NET-application динамически грузит DLL и регистрирует там делегат на эту callback-функцию.
Что имеем на серии тестов:
MetaTrader<->DLL — все ОК
.NET-application <-> DLL — все ОК
MetaTrader<->DLL<->NET-application — крашиться MetaTrader, вызов до NET-app не доходит
Подчеркиваю, я все упростил, никакие данные не передаются, тоесть маршаллинг или что-то там еще мешать не может. Но получается, я лезу в адресное пространство .NET из win32-application через мостик-DLL. Это допустимо вообще?