COM控件传值问题

来源:互联网 发布:excel2010重复数据筛选 编辑:程序博客网 时间:2024/06/10 22:31

 最近在做Activex控件时候,需要将容器传递的BSTR转化为CString,百度之,问题来了,首先有人提出使用一个函数,函数体为:

    void   inline   BR_TO_CSTRING(BSTR bst,CString& cst)
{
 DWORD   len=*((DWORD*)bst-1);
 for(UINT   i=0;i <len;i+=2)  
  cst+=*(char*)((BYTE*)bst+i);
}

然后又有人说使用CString的构造函数直接可以将BSTR类型转化为CString

警惕:以上两种方法会讲BSTR中的“:”过滤掉,郁闷,当时我崩溃了,正确方法为CString str= (LPCSTR)URI;可以正确将冒号传递,原因正在查找中。。。

原创粉丝点击