Я хочу, чтобы Application1.exe создавал экземпляр своего класса Item.
Я хочу, чтобы Application2.exe вызывал GetPrice () для этого объекта.
Я выполнил шаги 1-7на следующем веб-сайте:
http://www.codeguru.com/Cpp/COM-Tech/activex/tutorials/article.php/c5567/
Это то, что я имею до сих пор.
Основное приложение1 выглядит так:
CoInitialize( NULL );
DWORD dwRegister;
ItemFactory *pFactory = new ItemFactory;
CoRegisterClassObject( CLSID_Item, pFactory, CLSCTX_LOCAL_SERVER, REGCLS_MULTIPLEUSE, &dwRegister );
_getch();
return 0;
Основное в Application2 выглядит так:
CoInitialize( NULL );
CoGetClassObject( CLSID_Item, CLSCTX_LOCAL_SERVER, NULL, IID_IItem, (LPVOID *)&pFactory );
Моя проблема (надеюсь, моя единственная проблема) заключается в том, что я понятия не имею, как связать мой класс Item (или его интерфейс, IItem) с CLSID_Item;это просто какой-то случайный GUID, который я определил в другом файле.Я пытался
CoRegisterPSClsid( IID_IItem, CLSID_Item );
После этой строки я пытался
Item *pItem;
CoCreateInstance( CLSID_Item, NULL, CLSCTX_LOCAL_SERVER, IID_IItem, (LPVOID *)&pItem );
Я получаю ошибку E_NOINTERFACE.
Должен ли я создавать фабрику с CoCreateInstance?Тьфу, так растерялся ...