[in] 传入
[ou] 传出
[in,out] 传入、传出
[out,retval] 返回值
以上几种类型与内存分配方式相关。
[in]参数是由调用者负责分配内存并赋值的,被调用者不能修改其值,相当于C或Pascal中
由Const关键字修饰的参数。
[in,out]参数是由调用者初始化并赋值的,但也可以被被调用者赋值。相当于Delphi中
由var关键字修饰的参数或C语言的指针类型参数。
[out]参数是由被调用者分配内存,调用者释放的,用于向调用者传数据。相应语言映射与
[in,out]相同,但工作方式有差别。
[out,retval]参数用于传送返回值,为了向调用者传送返回值,返回值必须有out属性并且
是指针类型。(但不支持指针的语言有相关的内部处理方式)