处理BSTR的API函数

来源:互联网 发布:淘宝买高仿表 编辑:程序博客网 时间:2024/06/08 13:17
BSTR SysAllocString( OLECHAR FAR* sz );
    从OLECHAR*分配BSTR 。为避免意外的结果,请不要使用BSTR作为sz参数,除非你确定它不包含嵌   入的空字符。

BSTR SysAllocStringByteLen( char FAR* psz, unsigned int len );
   
用于包含二进制数据而不是真实字符串的BSTR。输入参数为ANSI字符串指针。但是,由于它的目的是   在BSTR中存储二进制数据,因此它不能将ANSI字符转换为UNICODE。

BSTR SysAllocStringLen( OLECHAR FAR* pch, unsigned int cch );
   
按钮cch分配BSTR长度。如果pch为NULL,则分配内存,但不初始化BSTR

HRESULT SysFreeString( BSTR bstr );
   
释放为bstr分配的内存

HRESULT SysReAllocString( BSTR FAR* pbstr, OLECHAR FAR* sz );
   
重新为BSTR分配sz字符串。在使用sz中的值重新分配pbstr之前,将自动释放pbstr。如果新字符   串的长度与以前不同,则pbstr将被调整大小。

HRESULT SysReAllocStringLen( BSTR FAR* pbstr, OLECHAR FAR* pch, unsigned int cch );
   
按照len指定的大小分配pbstr。在进行新的赋值之前将释放pbstr。最大数据的len字符将从pch
   
中复制到新的BSTR中。如果pch中的字符比len字符少,则不会初始化pbstr剩余的字符。

UINT SysStringByteLen( BSTR bstr );
   
返回bstr分配的字节数,不包括结尾空字符

UINT SysStringLen( BSTR bstr );
    返回bstr中的字符数,不包括结尾空字符