Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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();

СПАСИБО.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)