社区
ATL
帖子详情
[out]与[out,retval]
laughsky
2001-11-08 04:48:26
输出参数和输出参数与返回值得结合有什么不同?
难到不加retval,输出参数就不能被客户端得到么,怎样才可以让一个接口有两个客户端可以得到的值,比如一个方法定义为GetUserName([out]ULONG* ulResult, [out,retval]BSTR* bstrName),我可以在客户端得到自己定义的返回信息(ulResult)么?
...全文
226
2
打赏
收藏
[out]与[out,retval]
输出参数和输出参数与返回值得结合有什么不同? 难到不加retval,输出参数就不能被客户端得到么,怎样才可以让一个接口有两个客户端可以得到的值,比如一个方法定义为GetUserName([out]ULONG* ulResult, [out,retval]BSTR* bstrName),我可以在客户端得到自己定义的返回信息(ulResult)么?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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。
[in][out][re
tval
]
[in][out][re
tval
]用于COM自动化组件,主要是用于生成包装类用的 [in]类型表明参数是一个输入参数,所以这个参数不会向外界返回结果 [out]类型表明参数是个输出参数,所以这个参数会向外界返回结果,参数类型只能是指针类型 [out,re
tval
]类型表明参数是个输出参数, re
tval
必须与 out 联用,并且在参数类表中只有最后一个参数可以被指定为 [out,re
COM 参数有in, out ,re
tval
.
COM 参数有in, out ,re
tval
. 其主要作用: In 输入参数,它的值不被返回 Out 输出参数,必须是一个成员指针,将返回结果 Re
tVal
返回值,返回的值不能显示到用户向导中 [in]类型表明参数是一个输入参数,所以这个参数不会向外界返回结果 [out]类型表明参数是个输出参数,所以这个参数会向外界返回结果,而且传入参数时,可以将变
COM 参数有in, out ,re
tval
COM 参数有in, out ,re
tval
. 其主要作用: In 输入参数,它的值不被返回 Out 输出参数,必须是一个成员指针,将返回结果 Re
tVal
返回值,返回的值不能显示到用户向导中 [in]类型表明参数是一个输入参数,所以这个参数不会向外界返回结果 [out]类型表明参数是个输出参数,所以这个参数会向外界返回结果,而且传入参数时,可以将变
杂乱无章_c++ 定义接口 [out,re
tval
] 什么意思?
提问:现在已用C++写了一个COM组件给C#(winfrom)调用,COM组件中的函数返回hresult类型值的方法或者是函数ConnectMail()。但C#调用ConnectMail方法时,显示返回值类型为void。这是什么原因啊,C++中的确返回了Hresult类型,为什么C#中显示没有返回的void。C#怎么才能识别返回值啊?----------如果要修改C++或C#,怎么改?
COM组件【OUT】
COM组件通过 BSTR* 数据类型将一个字符串从接口方法内部返回给外部js的,如下接口方法: HRESULT GetFilePath([out,re
tval
] BSTR* bstrFilePath); 为COM组件中C++的标准形式,可以看到参数是指向BSTR类型的指针,而js是没有指针数据类型的。该方法经js调用后变为: var varFile
ATL
3,248
社区成员
48,529
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章