2016-08-17 63 views
1

我想了解的 COM服务器的实例,并在win32comext/shell/demos/servers/icon_handler.py只见线_com_interfaces_做什么?

_com_interfaces_ = [shell.IID_IExtractIcon, pythoncom.IID_IPersistFile] 

虽然这很显然是指具有实施IExtractIconIPersistFile接口的IconHandler,我找不到任何文档其中_com_interfaces_被实际使用。在win32com.server.registerwin32com.server.localserver.py中无处可见,所以注册和服务器调用似乎都没有实际使用它。有没有关于_com_interfaces_的任何文档?

回答

2

_com_interfaces_是一个可选属性的Server Policy查找:此对象的IID暴露的

_com_interfaces_

可选列表。如果这个属性不存在,则假定IID_IDispatch(即,如果未提供,则COM对象将被创建为一个正常的自动化对象。

列表是用来回答QueryInterface enqueries,看到win32com.server.policy module,看看这是怎么使用,特别是BasicPolicy._wrap()BasicPolicy._QueryInterface_方法。

+0

我明白了,谢谢。这导致我'win32com.server.policy',这更多地解释政策和调度员 –

+1

略有相关,但'comtypes':https:/ /svn.python.org/projects/ctypes/branches/comtypes-0.4/docs/com_interfaces.txt –