COM里面我调用的函数返回值是INT型的,
但这个COM接口的OUT参数是BSTR*的,
这个该怎么转换?

解决方案 »

  1.   

    增加一个OUT参数,传入int指针即可!
      

  2.   

    HRESULT RecvMsg([in] BSTR ClientInformat, [in] ULONG MsgId, [in] BSTR MsgContent, [out] BSTR* ResultInfo);
    这个接口是不能变的了。
    不知道怎么做啊。
      

  3.   

    在Interface上加一个method:   GetInt([out] int &param);
      

  4.   

    CString str;
    str.Format("%d",Ret);
    BSTR bstr=str.AllocSysString()
    剩下的不用我教你怎么做了吧!
      

  5.   

    得到你的int返回值如Ret
    声明一个char *sz="Ret";
    BSTR bstr= bstralloc(const char *sz);
    明白了?
      

  6.   

    上面那个错了。应该是这个 BSTR bstr=_bstr_t("ret") ;
      

  7.   

    我认为 BSTR* 就是用来传递一个指针
    可不可以这样// nRet是你的返回值ResultInfo = (bstr *)&nRet;使用的时候再转换回来,不知道这是不是你想要的