WINAPI getList(list<wstring> aprlist, DWORD flag, list<TimeSlice> tslist, BOOL alltime = TRUE, DWORD *ret);这样一个函数如何用com的方法实现?谢谢!

解决方案 »

  1.   

    首先要看你的COM组件支持什么接口,如果要支持IDispatch类型接口,你就不要指望什么了,只有有限的几种供你使用。如果是IUnknown类型的,则你提到的DWORD、BOOL、DWORD*都可以直接使用,而至于list<wstring>这种,我可以告诉你,即使不是COM,也不该这么设计函数参数。这是极其低效率的做法。此外,看你的函数名叫“getList”,那你用list<wstring>这样能把数据从函数里get出来吗??你需要先把list<>的内容序列化成数组,然后在接口上传递数组地址以及数组元素个数,最后再恢复成list。alltime = TRUE这样的默认值也是不支持的。