如题

解决方案 »

  1.   

    实现IDispatch,把结构封装成自动化对象,把成员改成标准类型的属性或者自动化对象
      

  2.   


    ---------------------------
    struct PictureRoute
    {
    BSTR xxx;
    BSTR xxx
    };
    HRESULT xxx([in]struct PictureRoute pr);
    这样直接使用 就可以了如果放在VARIANT,SAFEARRAY里传递,书上说要加上
    [
    uuid(35CFF63B-8C06-486d-A804-4E84C6E8EB71)
    ]
    但我测试,不加也可以
    测试环境:本机,进程内创建
      

  3.   

    我做的事情是封装一个开源的库,他的头文件里面有非常多的结构,需要作为接口方法的参数。我想有一种方法,把指定的结构引出来,可以被idl文件使用。如果我自己在idl文件里面定义结构,编译时会说我在重复定义,不知道怎么解决。还有,我的组件是在进程内运行的。