佚名通过本文主要向大家介绍了bstr,bstr t,bstr是什么类型,bstr转cstring,vt bstr等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 这样的接口申明,如何知道传入的BSTR被分配了多少存储空间?
描述:
解决方案1:
描述:
接口如下:
[propget, id(3), helpstring("property Result")] HRESULT Result([out, retval] BSTR *pVal);
我要把结果写入到pVal里面,可是如何知道pVal占多大的存储空间呢?比如说:
CComBSTR Result("1234");
Result.CopyTo(pVal);
我如何才能保证pVal一定能够容得下"1234"呢?
解决方案1:
你接口中的pVal是指针的指针,想传多少就传多少,只要内存够
解决方案2:BSTR 是一个指向 UNICODE 字符串的指针,且 BSTR 向前的4个字节中,使用DWORD保存着这个字符串的字节长度因此系统就能够正确处理并传送这个字符串到客户端了