COM控件传值问题

  最近在做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;可以正确将冒号传递,原因正在查找中。。。

posted @ 2011-03-23 11:58  银翼的魔术师  阅读(135)  评论(0编辑  收藏  举报