




 
The COM API uses the information from the IDL to convert data between FLI types and Lisp types where appropriate for arguments and return values of COM method definitions. In particular:
Each argument is the IDL has a corresponding argument in the
define-com-method form. In addition, each argument has a 
pass-style
 which specifies whether additional conversions are performed.
If the 
pass-style
 of a parameter is 
:foreign
, then the value will be exactly what the FLI would provide, i.e. foreign pointers for strings and for all 
out
 or 
in-out
 parameters (which are always pointers in the IDL).
If the 
pass-style
 of a parameter is 
:lisp
, then the conversions described in the following sections will be done.