int64: асинхронно передать C# -> C++ -> C# через void*
От: Mr.Delphist  
Дата: 16.10.17 19:32
Оценка:
Коллеги, привет

Столкнулся с задачей:
  1. C# дёргает запрос в C++/CLI
  2. C++/CLI дергает сишную либу, у которой можно передать void* в качестве пользовательских данных
  3. сишная либа вызывает свой асинхронный код
  4. сишный асинхронный код дёргает callback, который через С++/CLI слушается в C# — туда можно пробросить этот void*, чтобы понимать, к какому запросу относится эта callback-нотификация

Был бы int — проблем нет, но тут int64, а билд всего этого безобразия в 32 bit и никак иначе (т.е. sizeof(void*) равен 4, апгрейд на 64 бита аппаратно невозможен). Как на ваш взгляд элегантней всего пробросить его через эту цепочку managed-unmanaged-managed?
Отредактировано 16.10.2017 19:46 Mr.Delphist . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.