社区
ATL
帖子详情
[out]与[out,retval]
laughsky
2001-11-08 04:48:26
输出参数和输出参数与返回值得结合有什么不同?
难到不加retval,输出参数就不能被客户端得到么,怎样才可以让一个接口有两个客户端可以得到的值,比如一个方法定义为GetUserName([out]ULONG* ulResult, [out,retval]BSTR* bstrName),我可以在客户端得到自己定义的返回信息(ulResult)么?
...全文
211
2
打赏
收藏
[out]与[out,retval]
输出参数和输出参数与返回值得结合有什么不同? 难到不加retval,输出参数就不能被客户端得到么,怎样才可以让一个接口有两个客户端可以得到的值,比如一个方法定义为GetUserName([out]ULONG* ulResult, [out,retval]BSTR* bstrName),我可以在客户端得到自己定义的返回信息(ulResult)么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
laughsky
2001-11-14
打赏
举报
回复
但是使用参数out,为什么不可以在客户端得到其值?(我试验过,CS都在一台机器上是可以的,但如果不在同一台机器上,就不行了,必需有retval)
arxing
2001-11-08
打赏
举报
回复
使用retval后,某些客户端会把这个参数处理成返回值,如VB, Delphi等。
就算在VC,你编译产生一个类型库后,用VC的import语句,产生一个tlh文件,它会把GetUserName处理成 _bstr_t GetUserName(ulResult);
所以,一个方法最多只能有一个retval,但是可以有多个out。
dsoframer v2.3.0.0
HRESULT SetDocVariable([in] BSTR strVarName, [in] BSTR strValue,[in] long lOpt, [out,re
tval
] long* pbool); [id(0x00010045), helpstring("Save page To Doc")] HRESULT SetPageAs([in] BSTR strLocalFile,...
COM 参数有in, out ,re
tval
COM 参数有in, out ,re
tval
. 其主要作用: In 输入参数,它的值不被返回 Out 输出参数,必须是一个成员指针,将返回结果 Re
tVal
返回值,返回的值不能显示到用户向导中 [in]类型表明参数是一个...
[in][out][re
tval
]
[in][out][re
tval
]用于COM自动化组件,主要是用于生成包装类用的 ...[out,re
tval
]类型表明参数是个输出参数, re
tval
必须与 out 联用,并且在参数类表中只有最后一个参数可以被指定为 [out,re
COM 参数有in, out ,re
tval
.
COM 参数有in, out ,re
tval
. 其主要作用: In 输入参数,它的值不被返回 Out 输出参数,必须是一个成员指针,将返回结果 Re
tVal
返回值,返回的值不能显示到用户向导中 [in]类型表明参数是一个...
杂乱无章_c++ 定义接口 [out,re
tval
] 什么意思?
com组件被VB、C#调用时,其返回值不再是com组件本身的HResult返回值,而com函数接口中定义的某个具有Re
tval
属性的out型传回参数。 明白了否?比如在com里本身是HResult Add(int x,int y,int* Z); 在C++里,HResult...
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章