CORBA IDL in,out和inout

mih*_*the 5 corba idl

输入,输出和输出究竟是什么 - "定向"运算符在CORBA IDL函数参数中意味着什么?

Bri*_*lly 8

来自Ciaran McHale的免费在线书籍,CORBA Explained Simply:

操作的参数具有指定的方向,可以是in (意味着参数从客户端传递到服务器),out (参数从服务器传递回客户端)或inout (参数在两个方向传递) ).

因此,in参数与"传统"函数参数非常相似,因为调用者必须为它们传递一个值,并且服务器使用该值来完成其工作.

一个out参数,就像一个返回值,所以调用者从来没有使用值填充它.它只是在函数返回时神奇地有一个值(假设没有抛出异常),因为服务器负责在其中放入一个值作为其执行规则的一部分.您可以拥有任意数量的out参数,允许您返回多个不同的对象或值,而无需先将它们组合成一个struct.

一个inout参数结合上面的两个概念.调用者必须inout使用有效数据填充所有参数,但这些值在函数返回后可能会有所不同,因为服务器可以自由地将新数据放入其中.