社区
ATL
帖子详情
关于BSTR的使用
ink8852
2003-07-18 10:59:14
初识COM,问题多多,苦于手头资料不够。
关于CComBSTR、BSTR、CcomVariant及_bstr_t的概念、使用以及它们之间的关系是什么,那伟大虾能够详解一下,或者告诉我哪里有,我自己去看也可以!多谢~~~~
...全文
148
11
打赏
收藏
关于BSTR的使用
初识COM,问题多多,苦于手头资料不够。 关于CComBSTR、BSTR、CcomVariant及_bstr_t的概念、使用以及它们之间的关系是什么,那伟大虾能够详解一下,或者告诉我哪里有,我自己去看也可以!多谢~~~~
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ink8852
2003-08-07
打赏
举报
回复
谢谢大家!
navychen
2003-07-22
打赏
举报
回复
我觉得BSTR就是个指针, 要手工分配释放内存。其他的都是类,可以自动构造释放。
wqf2
2003-07-22
打赏
举报
回复
xtuzi(雨人) 说得不对!!!而lcp(dupi) ,zhp80(zhp80) ,Analyst()都回答得很好,楼主可以结贴了。
ailanrenxfl
2003-07-22
打赏
举报
回复
你用“BSTR”google一下,有好几篇讲的很好
zhp80
2003-07-18
打赏
举报
回复
BSTR = CComBSTR.Copy();
BSTR = CComBSTR.Detach( );
CComBSTR = BSTR;
CComBSTR.AppendBSTR(BSTR);
CComBSTR.Attach(BSTR);
_bstr_t = BSTR;
_bstr_t.Assign(BSTR); ---.net
_bstr_t.Attach(BSTR); ---.net
BSTR = _bstr_t.Copy();
BSTR = _bstr_t.Detach( ); ---.net
CString = BSTR;
BSTR = CString.AllocSysString();
BSTR = CString.SetSysString(&BSTR);
CComVariant = BSTR;
if (CComVariant.vt == VT_BSTR) BSTR = CComVariant.bstrVal;
BSTR WINAPI
SysAllocString
SysAllocStringByteLen
SysReAllocString
SysAllocStringLen
SysReAllocStringLen
SysFreeString
lcp
2003-07-18
打赏
举报
回复
BSTR是一种文本数据类型,是包含长度前缀的OLECHAR字符串。
CComBSTR封装了BSTR,包括初始化,释放,拷贝,类型转化等。
有时,我们需要在对数据类型一无所知的情况下向它传递参数,这就要用到:
Variant,包含了数据类型和数据的值两个域;
CComVariant封装了Variant数据类型和相关的操作。
其实挺简单的,你把Variant看作是自己指定了类型的void就好了。
xtuzi
2003-07-18
打赏
举报
回复
BSTR 等同于WCHAR类型的字符串
Analyst
2003-07-18
打赏
举报
回复
BSTR是原始类型,CComBSTR和_bstr_t是BSTR的C++封装类。_variant_t和CcomVariant是VARIANT的封装类。
另外_bstr_t要比CComBSTR好用。
FAICHEN
2003-07-18
打赏
举报
回复
可以转换
common_man
2003-07-18
打赏
举报
回复
http://www.pcvc.net/category/content.asp?sendid=8
xwsn007
2003-07-18
打赏
举报
回复
up
BSTR
详解一,二
-
使用
的外部库接口中已经
使用
了
BSTR
。 ##### 3.2 不建议
使用
BSTR
的情况 - 不推荐在IDL结构体中定义
BSTR
成员,因为这会给结构体的复制和释放带来麻烦。更推荐的做法是直接
使用
固定长度的TCHAR数组。如果确实需要...
BSTR
详细解释用法
由于各种编程语言对字符串的处理方式不同,如C++
使用
以0结束的ASCII或Unicode字符数组,Visual Basic
使用
带有长度前缀的ASCII字符数组,Java同样
使用
以0结束的Unicode字符数组,因此,
BSTR
作为通用的字符串类型...
BSTR
导致内存泄露问题
通过文档《
BSTR
字符串导致的内存泄露问题.docx》和相关百科资料(如ADO、OLE、
BSTR
、_
bstr
_t的百度百科页面),可以进一步深入学习
BSTR
的
使用
细节和最佳实践,提高代码质量。 总的来说,
BSTR
内存泄露是Windows编程...
BSTR
详解.pdf
在实际编程中,应该尽量缩小
BSTR
及与之相关类型的作用域,不建议将
BSTR
作为类的成员变量或函数参数
使用
,而是应该作为局部变量,并且要在
使用
完毕后尽快释放。 总结来说,
BSTR
在COM编程中扮演了一个重要的角色,它...
BSTR
详解三
6. **自动化缓存**:COM自动化层可能会缓存
BSTR
使用
的空间,这可能会影响调试,因此在调试时推荐
使用
专门的工具,如Compuware DevPartner。 **
BSTR
参数
使用
规则** 1. **责任归属**:在传入或传出
BSTR
参数时,有明确...
ATL
3,248
社区成员
48,529
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章