| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Интерфейсы |
| Автор: Гость_Serj 3.8.2003, 13:18 |
| Подскажите как получить интерфейс класса из DLL. Я пользовался Класс Визардом, но он определяет только один интерфейс, а в DLL их три. Я не знаю IID интерфейса, но знаю его название. Сорри за может не совсем разумный вопрос, но только начал работать с VC6. { CLSID clsid; LPCLASSFACTORY pClf; LPUNKNOWN pUnk; (незнаю как сделать интерфейс) cobj; HRESULT hr; if ((hr = ::CLSIDFromProgID(L"V75.zlibEngine", &clsid)) != NOERROR) { TRACE("íå íàøëè Program ID"); return; } if ((hr = ::CoGetClassObject(clsid, CLSCTX_INPROC_SERVER,NULL, IID_IClassFactory, (void**) &pClf)) != NOERROR) { TRACE("íå íàøëè CLSID"); return; } pClf->CreateInstance(NULL, IID_IUnknown, (void**) &pUnk); pUnk->QueryInterface(IID_IUnknown ( незнаю) ,(void**) &cobj); //IID_IzlibEngine CString s = cobj.GetName(); pClf->Release(); pUnk->Release(); СПАСИБО. |