现在有一个进程外组件,一个接口函数定义如下:
long func(VARIANT FAR& var1,VARIANT FAR& var2);
我的想法是:var1作为输入参数,var2能否作为数出参数,const类型var2在函数中利用const_cast改变了参数值,但是好像var2中的值无法传递到客户端,该怎么办?

解决方案 »

  1.   

    第一次发的有点错误,呵呵,麻烦大家帮忙看看现在有一个进程外组件,一个接口函数定义如下:  
    long  func(const VARIANT  FAR&  var1,const VARIANT  FAR&  var2);  
    我的想法是:var1作为输入参数,var2能否作为数出参数,const类型var2在函数中利用const_cast改变了参数值,但是好像var2中的值无法传递到客户端,该怎么办?
      

  2.   

    第一次发的有点错误,呵呵,麻烦大家帮忙看看现在有一个进程外组件,一个接口函数定义如下:  
    long  func(const VARIANT  FAR&  var1,const VARIANT  FAR&  var2);  
    我的想法是:var1作为输入参数,var2能否作为数出参数,const类型var2在函数中利用const_cast改变了参数值,但是好像var2中的值无法传递到客户端,该怎么办?
      

  3.   

    fire an event if you can not change the interface
      

  4.   

    可以定义成
    HRESULT func([in]VARIANT varIn, [out]VARIANT* pvarOut);
      

  5.   

    to an_bachelor ,使用VARIANT* pvarOut作为输出参数,指针参数能够传递吗?
    能传递的话也只能得到pvarOut0]吧?
      

  6.   

    out也不行吧,记得之前试验过,必须out、retval型的才行。