Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2020, 20:22   #1
jonn342
Пользователь
 
Регистрация: 26.01.2020
Сообщений: 13
Радость Связь с DLL посредством COM.

Добрый день, товарищи.

Вопрос рассчитан на матёрых дядек, умеющих в программирование COM-объектов.

У меня есть клиент и сервер.
Ниже представлены фрагменты кода, где клиент по clsid пытается достучаться до нужного интерфейса COM-сервера.

COM-клиент:
Код:
        HRESULT hr = ::CoGetClassObject(CLSID_Banzai,
                                        CLSCTX_INPROC_SERVER,
                                        NULL,
                                        IID_IClassFactory,
                                        (void **)&pBanzaiClass);
COM-сервер:
Код:
STDAPI DllGetClassObject(const GUID& Guid,
                         const GUID& Iid,
                         void ** ppv
                        ){
  *ppv = NULL;
  if(::memcmp(&Guid,&CLSID_Banzai,sizeof(GUID)) == 0){
    CBanzaiClassFactory * p = new CBanzaiClassFactory();
    if(p == NULL) return E_OUTOFMEMORY; 
    HRESULT hr = p->QueryInterface(Iid,ppv);
    if(hr == E_NOINTERFACE) delete p;
    }
    return hr;
}
Правильно я понимаю, что в момент вызова функции CoGetClassObject на стороне клиента, в это время на стороне сервера отрабатывает DllGetClassObject? Т.е. CoGetClassObject клиента стучится в функцию DllGetClassObject сервера, чтоб та вернула указатель на интерфейс?
jonn342 вне форума Ответить с цитированием
Старый 08.05.2020, 21:03   #2
jonn342
Пользователь
 
Регистрация: 26.01.2020
Сообщений: 13
По умолчанию

Ответил на свой же вопрос. Да. Одна функция стучится в другую. Проверил путём логирования. Может, кому пригодится.
jonn342 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как печатать посредством кнопки? hellm Microsoft Office Word 3 26.03.2015 21:54
Оглавление посредством VBA? tolikman Microsoft Office Word 3 15.10.2014 14:51
как запустить формулу посредством vba johny_03 Microsoft Office Excel 7 24.12.2011 19:36
Рекламщик посредством смс Art54 Фриланс 1 13.09.2011 22:46
цвет ссылок посредством CSS Che Guevara HTML и CSS 3 24.02.2011 15:42