首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >[in,out],[in,out]和[out,retval]之间有什么区别?

[in,out],[in,out]和[out,retval]之间有什么区别?
EN

Stack Overflow用户
提问于 2014-03-12 18:41:30
回答 1查看 2.2K关注 0票数 4

[in][out][in, out][out, retval]有什么区别?

从我读过的一些代码中,我认为[in]被用来向一个方法传递一个参数。[out, retval]是返回一个值。[in, out]用来表示我们可以覆盖这个参数,并且它是返回的参数。但是,我似乎可以在创建方法时更多地使用最后一个属性,为什么呢?那么,在这种情况下,[out]是什么?

我想我走错了轨道,有人能解释一下这些属性之间的区别吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-12 19:08:48

这些是用于规范IDL文件中COM接口方法参数的MIDL语言属性.说明符的含义来自它们的名称,通常可以理解为通过值(in)、引用(in、out)和返回值(out、retval)传递参数。out意味着只返回值,但通过参数传递,因此该方法可以返回多个值。

在文档中:[中]属性指定输入参数、[退出]只输出参数、[进,出]-输入和输出、[出去,雷瓦尔] -返回值.不要忘记,低级别的IDL描述可以使用这个COM对象在不同的语言中使用。例如,我们可以使用IDL描述(不严格):

代码语言:javascript
复制
// [out, retval] must be last
genererate([in] item_name, [out] size, [out, retval] res); 

其用途如下:

代码语言:javascript
复制
var sz; // will be initialized in the COM-method
var res = FooObj.generate("new_item", sz); // FooObj is our COM-object
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22360942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档