_com_interfaces_做什么?
问题描述:
我想了解的pywin32 COM服务器的实例,并在win32comext/shell/demos/servers/icon_handler.py
只见线_com_interfaces_做什么?
_com_interfaces_ = [shell.IID_IExtractIcon, pythoncom.IID_IPersistFile]
虽然这很显然是指具有实施IExtractIcon
和IPersistFile
接口的IconHandler
,我找不到任何文档其中_com_interfaces_
被实际使用。在win32com.server.register
或win32com.server.localserver.py
中无处可见,所以注册和服务器调用似乎都没有实际使用它。有没有关于_com_interfaces_
的任何文档?
答
_com_interfaces_
是一个可选属性的Server Policy查找:此对象的IID暴露的
_com_interfaces_
可选列表。如果这个属性不存在,则假定
IID_IDispatch
(即,如果未提供,则COM对象将被创建为一个正常的自动化对象。
列表是用来回答QueryInterface
enqueries,看到win32com.server.policy
module,看看这是怎么使用,特别是BasicPolicy._wrap()
和BasicPolicy._QueryInterface_
方法。
我明白了,谢谢。这导致我'win32com.server.policy',这更多地解释政策和调度员 –
略有相关,但'comtypes':https:/ /svn.python.org/projects/ctypes/branches/comtypes-0.4/docs/com_interfaces.txt –