For an overview of the Interface Declaration Language (IDL) operation declarations, see "IDL operation declarations".
The parameter-list contains zero or more parameter declarations for the operation and is delimited by commas. (The target object for the operation is not explicitly specified as an operation parameter in IDL.) If there are no explicit parameters, the syntax "( )" must be used, rather than "(void)". A parameter declaration has the following syntax:
{ in | out | inout } type-spec declarator
where type-spec is any valid IDL type (except a sequence) and declarator is an identifier or an array declarator. Although the type of a parameter cannot be a sequence, it can be a user-defined type that is a sequence.
The required in, out, or inout directional attribute indicates whether the parameter is to be passed from caller to callee (in), from callee to caller (out), or in both directions (inout). The following are examples of valid operation declarations:
short meth1(in char c, out float f); oneway void meth2(in char c); float meth3();
An operation's implementation should not modify an in parameter. If a change must be made by the implementation, the implementation should copy the parameter and modify the copy only.
If an operation raises an exception, the values of the return result and the values of the out and inout parameters (if any) are undefined.