[id(1), helpstring("method DrawImage")] HRESULT DrawImage([in]HBITMAP bmp);编译的时候出现了警告:这是什么原因,如何去掉警告呢?
warning MIDL2039 : interface does not conform to [oleautomation] attribute : [ Parameter 'bmp' of Procedure 'DrawImage' ( Interface 'ITEST' ) ]

解决方案 »

  1.   

    不可能!参数必须是com规定的VARIANT中的基本类型!你在msdn搜一下VARIANT就是了!
      

  2.   

    to: wangweixing2000
       com接口参数可以传递结构体,但必须在idl文件中生命,所以我觉得应该可以传递hbitmap类型,编译的时候也没有出现错误,只是有警告。所以,我觉得是否也应该在idl中定义hbitmap,可是,如果没有定义,也没有出现错误阿,这就是我的问题所在. 你的想法也不错.
      

  3.   

    是这样的,如果你要传HBITMAP的话,在进程范围内,是没有问题的。如果你不要看到这个警告,可以把HBITMAP改为long。如果进程外的话,这个HBITMAP就没有意义了。另外这个警告的意思是告诉你,现在的列集器不能识别你的数据类型,所以如果你自己给对象实现一个列集器,那么这个警告也不会出现,当然这是比较复杂的。所以,改为long是最好的解决办法。
          一口气打了这么多字,喝口水去.....
      

  4.   

    to :kenwhale
        这个接口是进程中使用的,按照你的想法去做了。