




 
All IDL definitions map onto FLI definitions, mirroring the mapping that 
midl.exe
 does for C/C++. However, IDL provides some additional type information that C/C++ lacks (for instance the 
string
 attribute), so there are some additional conversions that Lisp performs when it can.
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 calls. In particular:
In COM, all parameters have a 
direction
 which can be either 
in
, 
out
 or both 
in
 and 
out
 (referred to as 
in-out
 here). Arguments and values for client-side COM method calls reflect the direction as described in the following sections. For a complete version of the example code, see the file 
examples\com\manual\args\args-calling.lisp
 in the LispWorks installation.