COM中的几种字符串类型的总结

时间:2022-03-24 22:05:59
自己总结,自己用。

TCHAR  可以根据预处理器的不同把它转化成不同的字符集
OLECHAR  在编译源代码的目标操作系统上COM使用的字符类型。对于Win32操作系统,这是wchar_t字符类型
BSTR 是一个包含长度前缀的OLECHAR数组的指针,它有许多的特殊语义
 ------------------------------
 | 4字节| 字符串,长度等于指定的值|/0|
 ------------------------------
注意:BSTR是一个指针数据类型。它指向数组的第一个字符。长度缀以整数的形式恰好存在数组的第一个字符之前;长度以字节为单位,并且不包括NUL字符;字符数组内部可以包括NUL字符;它必须使用SysAllocString及SysFreeString来分配和释放;BSTR类型相互复制(BSTR a = BSTR b), 实际上是拷贝一个BSTR包括结构的所有内容.
SysFreeSting这函数在释放BSTR类型后,并没有清空内存里面的东西