Что делает _com_interfaces_?
Я пытаюсь понять примеры COM-сервера pywin32, и в win32comext/shell/demos/servers/icon_handler.py
Я видел линию
_com_interfaces_ = [shell.IID_IExtractIcon, pythoncom.IID_IPersistFile]
Хотя это довольно четко относится к IconHandler
необходимость реализации IExtractIcon
а также IPersistFile
интерфейсы, я не могу найти документацию, где _com_interfaces_
на самом деле используется. Это нигде не видно в win32com.server.register
или же win32com.server.localserver.py
так что ни регистрация, ни серверный вызов, кажется, на самом деле не используют это. Есть ли документация по _com_interfaces_
?
1 ответ
_com_interfaces_
является необязательным атрибутом, который ищет Политика сервера:
_com_interfaces_
Необязательный список IID, предоставляемых этим объектом. Если этот атрибут отсутствует,
IID_IDispatch
предполагается (т. е. если не указан, COM-объект будет создан как обычный объект автоматизации.
Список используется для ответа QueryInterface
Enqueries, см. win32com.server.policy
модуль, чтобы увидеть, как это используется, в частности, BasicPolicy._wrap()
а также BasicPolicy._QueryInterface_
методы.