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文档中的一句话更重要.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...