请教:BSTR如何正确使用
MSDN中说,BSTR前面有四个字节,用来存放字符串的长度,是一个long型的整数。我在控件中定义了一个BSTR字符串,初始化如下:
BSTR path = CComBSTR(""); //这是控件的一个属性
可以看到它的长度为0,内容为空;控件创建后,发现它的长度变为了73,内容为Font(每次都是这样)。我跟踪过,在一段汇编代码中改变了path所指向的内存,为什么这段内存会被修改?BSTR的长度存在哪里,怎么长度也会变呢?
每次打开属性页显示这个属性时,path所指向的内存都会被修改,长度也会被修改。这是什么原因?怎么改正啊?