微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

windows – 在哪里使用null BSTR记录?

至少通常的做法是将null BSTR(null WCHAR *指针)视为空字符串,并相应地设计所有操作BSTR的代码. this question的答案说的一样.

这种做法记录在哪里?有没有描述这个惯例的官方文件

解决方法

好吧,在这个问题的接受答案中给出的链接是由Eric Lippert撰写的一篇文章,Eric’s Complete Guide To BSTR Semantics.虽然它绝对不是官方文档,但Lippert是一个众所周知的COM权威(特别是在脚本领域).

但是,the official documentation有这样的说法:

A BSTR with no data elements is either an empty BSTR or a NULL BSTR. An empty BSTR indicates a present,but zero-length,data value. A NULL BSTR indicates a data value that is not present.

所以,正式它们都是没有数据元素的BSTR,但语义略有不同(尽管没有什么可说的,这两个案例需要在你的应用程序中以不同的方式处理).在这种情况下,我肯定会遵循Lippert关于同样对待它们的建议.对我而言,他对实际实施工作方式的实际经验比官方BSTR文档中的一句话更重要.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐