




1.8.1 Steps required to implement COM interfaces
To implement a COM interface in Lisp, you need the following:
-
Some COM interface definitions, converted to Lisp as specified in Generating FLI definitions from COM definitions
-
A COM object class defined with the macro define-com-implementation, specifying the interface(s) to implement.
-
Implementations of the methods using define-com-method.
-
If the objects are to be created by another process, a description of the class factories created with make-factory-entry and registered with register-class-factory-entry.
-
Initialization code to call co-initialize. It should also call start-factories in a thread that will be processing Windows messages (for instance a CAPI thread) if you have registered class factories.
LispWorks COM/Automation User Guide and Reference Manual - 19 Dec 2011




