Registering Your COM Server
Although our sample object implements registration of the object, we haven’t discussed it in detail.
Registering an
object
is the process of allowing the object to be independently created;
once an object is registered, a language can use its standard
techniques for creating COM objects to access it, e.g.,
CreateObject() in Visual Basic or
win32com.client.Dispatch() in Python.
There are many cases where you wish to implement a COM object but
don’t need it registered. For example, let’s assume you
are designing an object model for an editor that has a root
Application object, and inside this
Application object there are a number of
Document objects. In this case, you would
typically want to register the Application object
(clients need to be able to create this object directly) but not
register the Document object (making requests on
the Application object creates these). In this
case, you don’t need to specify any registration information
for the Document object.
To prepare an object for registration, you need to provide additional attribute annotations on the object. The registration process uses these annotations to provide the correct information in the Windows registry for the object. The full list of registration related attributes can be found in Table 12.4.
|
Attribute |
Description |
|
|
The ProgID for the object. This is the name of the COM object clients use to create the object. ... |