佚名通过本文主要向大家介绍了bstr数据类型,任志强我用数据讲讲,bstr,bstr t,bstr是什么类型等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 哪位来讲讲BSTR这种数据结构在COM中的存在意义?
描述:
解决方案1:
描述:
换句话说,有什么功能是必须由BSTR来完成,其他字符串封装类不能完成的?谢谢。
解决方案1:
BSTR
COM 中除了使用一些简单标准的数据类型外(注2),字符串类型需要特别重点地说明一下。还记得原则吗?COM 组件是运行在分布式环境中的。通俗地说,你不能直接把一个内存指针直接作为参数传递给COM函数。你想想,系统需要把这块内存的内容传递到“地球另一 边”的计算机上,因此,我至少需要知道你这块内存的尺寸吧?不然让我如何传递呀?传递多少字节呀?!而字符串又是非常常用的一种类型,因此 COM 设计者引入了 BASIC 中字符串类型的表示方式---BSTR。BSTR 其实是一个指针类型,它的内存结构是:(输入程序片段 BSTR p = ::SysAllocString(L"Hello,你好");断点执行,然后观察p的内存)
http://www.vckbase.com/document/viewdoc/?id=1488
杨老师是这么说的