1.9.1.3 In-out parameters
For
in-out
parameters,
-
For a parameter whose type is an array type or a pointer type with a
size_is
attribute, the value can be a Lisp array. The contents of the array will be modified by the method and the array will be returned as a value.
-
For a parameter with the
string
attribute, the parameter can be a Lisp string. The value of the parameter at the end of the body will be returned as a value.
-
For a parameter of COM type
BSTR*
, the parameter can be a Lisp string. The value of the parameter at the end of the body will be returned as a value.
-
For parameters of COM type
VARIANT*
, the parameter can be any Lisp object. The value of the parameter at the end of the body will be returned as a value.
-
If the value is a foreign pointer of the type that the FLI would generate for the parameter's type then the foreign object it points to will be the value of the parameter. The foreign pointer will be returned as a value, with the new contents as modified (or not) by the method.
-
Otherwise, the parameter is passed directly to the method and the value of the parameter at the end of the body will be returned as a value.
LispWorks COM/Automation User Guide and Reference Manual - 22 Dec 2009