我是COM的新手。根据{{3}} BSTR是带前缀的字符串。我想知道BSTR的目的是什么。在这种情况下,我们必须使用BSTR而不是字符串类型?如果有人可以举个例子吗? 谢谢
答案 0 :(得分:2)
BSTR
为standard string type:
BSTR(基本字符串或二进制字符串)是COM,Automation和Interop函数使用的字符串数据类型。在将从脚本访问的所有接口中使用BSTR数据类型。
您必须使用BSTR
,尤其是当您使用的API期望您通过BSTR
;例如当某些COM接口方法需要BSTR
参数时。当您有选择时,您可以自行决定使用BSTR
或其他任何内容。
答案 1 :(得分:2)
首先,有时你必须使用BSTR。例如,如果您调用COM方法并且被调用者期望BSTR您不想传递任何其他字符串类型 - 否则他们可能会调用SysStringLen()
并遇到未定义的行为。当API描述显示您应该使用BSTR时使用BSTR。
同样BSTR
具有以下有用功能: