关于BSTR

BSTR是一个带长度前缀的字符串,主要由操作系统来管理的,所以要用api.主要用来和VB打交道的(VB里的string就是指它) .

它由两个字符组成,第一个字段是4字节无符号long型值,代表字符串的所有字节数,以'/0'结束,第二个字段是字符串本身,以NULL结尾。vc里封装它的类如_bstr_t,及ATL中的CComBSTR等.

BSTR 是以指针的形式进行传递的。 BSTR 是 Unicode 的,即每个字符需要两个字节。

(1)CString转换为BSTR

CString strTemp = "Hello";
BSTR bstrTemp = strTemp.AllocSysString();
...
::SysFreeString( bstrTemp );

原文地址:https://www.cnblogs.com/superch0054/p/4010205.html