What does _com_interfaces_ do?



我试图理解pywin32的COM服务器示例,并且在win32comext/shell/demos/servers/icon_handler.py中我看到了

_com_interfaces_ = [shell.IID_IExtractIcon, pythoncom.IID_IPersistFile]

虽然这很清楚地指的是IconHandler必须实现IExtractIconIPersistFile接口,但我找不到任何文档,其中 _com_interfaces_实际使用。在win32com.server.registerwin32com.server.localserver.py中没有看到它,因此注册和服务器调用似乎都没有实际使用它。有_com_interfaces_的文档吗?

_com_interfaces_是服务器策略查找的可选属性:

_com_interfaces_

该对象公开的iid的可选列表。如果缺少此属性,则假定IID_IDispatch(即,如果未提供,则COM对象将作为普通自动化对象创建。

该列表用于回答QueryInterface查询,请参阅win32com.server.policy模块以了解如何使用该列表,特别是BasicPolicy._wrap()BasicPolicy._QueryInterface_方法。

最新更新