




 
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