Вызов метода Com объекта из некого Callback

Тема в разделе "MS Visual C++", создана пользователем ivs4, 1 дек 2008.

  1. ivs4

    ivs4 Гость

    Здравствуйте. Возникла мледующая проблема. Имется интерфейс Dispath полученный в основном потоке через GetObject. Есть стороння библиотека которая реализует в себе реакции на некие события через CallBack ф-цию. Хочу выоплнить в этом CallBack метода COM объекта через известный диспатч. Предположил, что CallИфсл работает в новом потоке, поэтому испльзовал маршалинг. НО, при работе в CallBack ф-ции вываливаются то на Invoke, то на CoUnmarshalInterface.

    ошибка на Invoke
    0x80010108 Вызванный объект был отключен от клиентов.

    ошибка на CoUnmarshalInterface
    0x800401FD Объект не подключен к серверу

    У меня уже был опыт работы с маршаигом и раньше проблем не возникало. Писал интерфейс в стрим и в потоке восстанавливал его. Помогите в решении проблемы или дайте совет где искать.

    глобальная переменная
    Код (Text):
    IStream *stream4;
    Основной поток
    Код (Text):
    hres=CoGetObject(bwscpath, NULL, IID_IDispatch, (void**) &disp4);
    hres=CoMarshalInterThreadInterfaceInStream(IID_IDispatch,disp4,&stream4);
    CallBack ф-ция
    Код (Text):
    IDispatch *disp4;
    LARGE_INTEGER v;
    v.QuadPart=0;
    hres=stream4->Seek(v,STREAM_SEEK_SET,NULL);
    hres=CoUnmarshalInterface(stream4,IID_IDispatch,(void**)&disp4);
    hres=disp4->Invoke(func4conSTATE,IID_NULL,LOCALE_USER_DEFAULT,DISPATCH_METHOD,&params4,&varResult,NULL,NULL);
     
  2. ivs4

    ivs4 Гость

    Неужели никто не сталкивался с ошибками?

    0x80010108 Вызванный объект был отключен от клиентов.

    0x800401FD Объект не подключен к серверу
     
Загрузка...
Похожие Темы - Вызов метода Com
  1. forhelp
    Ответов:
    1
    Просмотров:
    14.113
  2. k85
    Ответов:
    0
    Просмотров:
    363
  3. alexas1
    Ответов:
    0
    Просмотров:
    509
  4. Sanchezz86
    Ответов:
    1
    Просмотров:
    591
  5. vln1981
    Ответов:
    0
    Просмотров:
    713

Поделиться этой страницей