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. ... |
Get Python Programming On Win32 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.