c++ cli unmanaged to managed data transaction
От: 4065d150cae5431d  
Дата: 23.07.11 09:03
Оценка:
я новичок поэтому не судите строго
unmanaged...
{
        ___asm...
        // how add result to managed controls ???
}
 
 
managed...
{
        // create controls
        // run message loop
        // run unmanaged subroutine as event handler
        unmanaged(); // do low level magic
}


пока я знаю всего пару решений одно из них
передать в unmanaged нативный хендл формы и
переопределить в форме WndProc и ждать некое MAGIC_MESSAGE
из нативного кода с указателем на данные после чего
managed код распихает инфу по контролам

просто для такого простого примера я бы мог передать контейнер
для заполнения и по возвращении обработать но
в программе длинный стек вызовов unmanaged кода
в конце формируются данные их постепенно надо выводить в контрол
причем поток управления из этого unmanaged стека не возвращается
это отдельный поток всегда работающий поэтому передать неуправляемый контейнер
вернутся и обработать не получается надо именно как то пересылать
где данные доступны managed коду существуют ли простые способы для этого ?


да и вообще если мне не только данные надо передать в managed стек а например
еще и .net методы подергать из unmanaged стека можно слать SendMessage коды
типа DO_WORK_XXXX по типу как DeviceIOControl а managed код получит сообщение
и сделает дело заодно ему можно указатель для записи результата передать
как вообще решаются эти задачи ? как по нормальному ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.