




 
1.8.6.2  In parameters
For 
in
 parameters:
- 
A parameter with the 
stringattribute will be converted to a Lisp string. The string should not be destructively modified by the body.
- 
A parameter of COM type 
BSTRwill be converted to a Lisp string. The string should not be destructively modified by the body.
- 
A parameter of COM type 
VARIANT*will be converted to a Lisp object according to the VT code in the variant (see Automation types, VT codes and their corresponding Lisp types).
- 
A parameter of COM type 
SAFEARRAY(type
)or
SAFEARRAY(type
)*will be converted to a Lisp array. The elements of type 
type
 are converted as in Automation types, VT codes and their corresponding Lisp types.
- 
A parameter of COM type 
VARIANT_BOOLwill be converted to
nil(for zero) or
t(for any other value). Note that a parameter of type
BOOLwill be converted to an
integerbecause type libraries provide no way to distinguish this case from the primitive integer type.
- 
A parameter whose type is an array type or a pointer type with a 
size_isattribute will be converted to a temporary Lisp array. The Lisp array might have dynamic extent.
- 
Otherwise, the value is converted to a Lisp value using the FLI according to the mapping of types defined in FLI types.
LispWorks COM/Automation User Guide and Reference Manual - 17 Jul 2006





