A complete implementation of the i-unknown interface.
An optional interface pointer to the outer unknown interface if this object is aggregated .
The class standard-i-unknown
provides a complete implementation of the i-unknown interface.
The class provides a reference count for the object which calls the generic function com-object-initialize
when the object is given a reference count and com-object-destructor
when it becomes zero again. These generic functions can be specialized to perform initialization and cleanup operations.
The class also provides an implementation of query-interface
which calls the generic function com-object-query-interface
. The default method handles i-unknown
and all the interfaces specified by the define-com-implementation
form for the class of the object.
There is support for
aggregation
via the :outer-unknown
initarg, which is also passed by built-in class factory implementation.
Inheriting from a non-COM class requires standard-i-unknown
to be mentioned explicitly:
(define-com-implementation doc-impl
(document-mixin
standard-i-unknown)
()
(:interfaces i-doc))
define-com-implementation
standard-i-dispatch
standard-i-connection-point-container
com-object-initialize
com-object-destructor
com-object-query-interface
com-object
i-unknown
LispWorks COM/Automation User Guide and Reference Manual - 23 Mar 2017