2013-05-24 4 views
0

Я пытаюсь подписаться на событие в библиотеку COM и застрял в FindConnectionPoint. Я использую C++ VS2010 и я следуя [статья] [1], согласноFindConnectionPoint, какие параметры должны пройти

IConnectionPointContainer :: FindConnectionPoint, используя код GUID, который представляет нужный интерфейс.

Теперь то, что предполагает, чтобы быть первым параметром этого метода является то предположит, чтобы быть Guid не как UUID (192B9F3E-DF39-41A5-95E0-0333B061CAB8)? У меня есть только файл tlb, и я использую oleview для его изучения.

ответ

0

Вы должны передать идентификатор интерфейса (IID), так что-то вроде этого:

point_container->FindConnectionPoint(IID__ISTIEventsEvents ,&conn_point); 

Если вы не определили в файле заголовка, вы можете создать его, используя the #import "mytlb.tlb" директиву, или просто создать это вручную в любом месте вашего кода, используя значение 192B9F3E-DF39-41A5-95E0-0333B061CAB8.

+0

Да, если у вас есть _ISTIEventsEvents, определенные с uuid и все такое, но я думал, что у вас только есть TLB –

Смежные вопросы