Open concrete primary class
This class implements the COM IClassFactory interface. Making an instance of it causes it to be registered with the system automatically, for use by potential clients.
<LPUNKNOWN>
clsid:"{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}"
That is, where each x is a hexadecimal digit. For example:
"{e90f09e0-43db-11d0-8a04-02070119f639}"
Alternatively, the ID can be a <REFCLSID>, as returned from make-GUID.
You can get the ID value by generating a GUID with Functional Developer's create-id utility. See "Creating GUID numbers" on page 129.
class:<ole-server-framework>) that is to be instantiated when the client (controller) requests it. Required.
args:make when instantiating the object. The default is to pass the same arguments as for the <class-factory> (<ole-server-framework> accepts and ignores those that are only for the factory, and <class-factory> ignores any that it does not recognize.) Note that <ole-server-framework> requires typeinfo: to be supplied.
server-module-handle:Contains the <hModule> instance of the server DLL when invoked from an in-process server. This argument is not normally specified by the user, but is passed in automatically when the class factory is created from the in-process DLL entry-point. Note that if you do not specify an explicit args argument, then this argument will be passed into your object along with all the other initialization arguments.
server-context: Indicates where the server is running. See the description of create-dispatch below for a list of possible values. Defaults to $CLSCTX-LOCAL-SERVER. You can use $CLSCTX-INPROC-SERVER instead to suppress external registration of the factory.
connection-flags: Optional connection flags, controlling whether more than one client is allowed to invoke the same class factory (and hence use the same server process). The value is one of the following OLE constants:
$REGCLS-SINGLEUSE -- Only one connection allowed. This is the default value.
$REGCLS-MULTIPLEUSE -- Multiple connections allowed.
$REGCLS-MULTI-SEPARATE -- Multiple connections allowed, separate control.
For further explanation of these constants, see the Microsoft OLE/COM API documentation for the function CoClassRegisterClassObject.
OLE-Server
OLE-Server
This class implements the COM IClassFactory interface. Making an instance of it causes it to be registered with the system automatically, for use by potential clients.
A server application does not need to use the instance directly, except that it must call revoke-registration on the instance before terminating.
Any keyword arguments other than those documented above are passed in the make call when the Dylan class is instantiated. Note that <ole-server-framework> requires you to supply typeinfo:.
You can subclass <class-factory> (using define COM-interface) if desired for adding functionality (such as overriding the IClassFactory/LockServer and terminate methods).