




 
Suppose you have a 
defsystem
 system definition form that references a library: that is, a system member has options 
:type
 :midl-type-library-file as described in Generating FLI definitions from COM definitions.
For this member, the option 
:com
 can be added to specify whether all the COM functionality is required. The keyword can take these values:
Analyze and generate all the required code for calling and implementing the interfaces from the type library. This is the default value.
Analyze but do not generate any code for calling or implementing COM interfaces from the type library. It is still possible to call Automation methods.
Analyze but do not generate any code for calling or implementing COM interfaces from the type library. It is still possible to call Automation methods and implement dispinterfaces in the type library, but not dual or COM interfaces.
Using the value 
nil
 or 
:not-binary
 generates much smaller code and is therefore much faster. However, it is never obligatory to use the option 
:com
.
Use 
:com nil
 when the application calls Automation interfaces from the type library but does not implement any of them or need to call any methods from dual interfaces using call-com-interface.
Use 
:com
 
:not-binary
 when the application implements only 
dispinterfaces
 from the library. This is typically required for implementing 
sink
 interfaces for use with connection points.
For an example see 
examples/com/ole/simple-container/defsys.lisp
.