现有一个COM组件,就是移动的短信组件EMPP, 我已经可以调用它的方法了,现在要处理其事件, 看到一篇文章说继承IDispEventImpl,但不知道怎么写GUID参数,
请各位大侠救命!!!!如下定义中的pdiid和plibid都应该填写什么啊?///////////////////////////////////////////
class EventReceiver :
    public IDispEventImpl<0,
     EventReceiver,
     &DIID__????,
     &LIBID_????, 1, 0>///////////////////////////////////////////

解决方案 »

  1.   

    我使用 #import "c:\empp.dll" no_namespace,named_guids 后编译器生成的“empp.tlh”文件中的事件接口声明如下:.....struct __declspec(uuid("c4380bfc-9918-4df7-b937-01ecc5e94e2d"))
    _IemptclEvents : IDispatch
    {
        //
        // Wrapper methods for error-handling
        //    // Methods:
        HRESULT MessageReceived (
            _bstr_t MsgID,
            _bstr_t srcID,
            _bstr_t content,
            const _variant_t & submitDatetime );     ....
      

  2.   

    class EventReceiver :
        public IDispEventImpl<0,
         EventReceiver,
         &DIID__IemptclEvents,
         &LIBID_xxxxxxxxLib, 1, 0>   xxxxxxx 是你.dll 的名称,可能是     &LIBID_emppLib, 1, 0>   
      

  3.   

    我使用 #import "c:\empp.dll" no_namespace,named_guids 后编译器生成的“empp.tlh”文件中的事件接口声明如下:
    ----------------------------
    LIBID_xxxxxxxxLib
    是可以在empp.tlh里看到的,因为你在import的后面添加了named_guids ,所以在empp.tlh的下面是可以看到的,仔细找找
      

  4.   

    neverdown  请问你的问题解决了吗.能否给我参考一下