BSTR:"Basic STRing"的简称,微软在COM/OLE中定义的标准字符串数据类型,BSTR数据类型是一个UNICODE,固定字节长度,且以NULL结尾的字符串,所有的COM兼容语言都可以使用。虽然所有的COM兼容的语言都能使用BSTR,但它们都以自己的方式操作
A . 在C++中创建BSTR
在C++中创建BSTR的时候,你需要使用SysAllocString()。这个方法会计算字符串的长度并设置足够的缓存。例如,我们用bstrName变量来保持返回值:
BSTR bstrName;
bstrName = SysAllocString(L"Fred Flintstone");
B . 操作BSTR
一旦你创建了一个BSTR,很有可能在程序中会重设它的值。使用SysReAllocString()来修改一个现有的BSTR,它会释放之前的空间,重新计算字符串的长度和设置缓存:
// Change existing bstrName to 'Mr. Slate'
SysReAllocString(&bstrName, L"Mr. Slate");
SysStringLen()方法给你计算现存BSTR缓存的长度:
int length = SysStringLen(bstrName);
C. 最后不要忘了任何一个使用SysAllocString()创建BSTR必须使用SysFreeString()来清除。任何一个你从接口方法获得的BSTR也需要使用SysFreeString()来清除。