All Manuals > COM/Automation User Guide and Reference Manual > 2 COM Reference Entries

make-factory-entry Function

Summary

Makes a object which can be used to register a class factory.

Package

com

Signature

make-factory-entry &key clsid implementation-name constructor-function constructor-extra-args friendly-name prog-id version-independent-prog-id

Arguments
clsid
The CLSID of the coclass.
implementation-name
A Lisp symbol naming the implementation class.
constructor-function
A function to construct the object.
constructor-extra-args
Extra arguments to pass to constructor-function.
friendly-name
A string.
prog-id
A string.
version-independent-prog-id
A string.
Description

The function make-factory-entry makes an object to contain all the information for class factory registration in the COM runtime for clsid. This object should be passed to register-class-factory-entry to perform the registration. This done automatically if you use define-automation-component described in the 3 Using Automation.

If constructor-function is nil, the default constructor is used which makes an instance of implementation-name and queries it for a i-unknown interface pointer. The default constructor also handles aggregation.

If constructor-function is non-nil, it is called by LispWorks with the unknown-outer (non-nil if aggregation is being used), the IID of the interface to return and the values in constructor-extra-args. It should return three values: the hresult, the COM interface pointer and the instance of implementation-name.

constructor-extra-args supplies extra arguments to pass to constructor-function. It defaults to a list containing implementation-name.

friendly-name is the name of the coclass for use by application builders.

prog-id and version-independent-prog-id specify the ProgID and VersionIndependentProgID of the coclass when it is registered.

Examples
(make-factory-entry
 :clsid (make-guid-from-string
         "7D9EB762-E4E5-11D5-BF02-000347024BE1")
 :implementation-name 'doc-impl
 :prog-id "Wordifier.Document.1"
 :version-independent-prog-id "Wordifier.Document"
 :friendly-name "Wordifier Document")
See also

register-class-factory-entry


COM/Automation User Guide and Reference Manual - 01 Dec 2021 19:38:38