Когда мне следует зарегистрировать свой COM-интерфейс в HKCR\Interface?
-
06-07-2019 - |
Вопрос
Оказывается, есть поддерево HKCR\Interface, в котором я могу зарегистрировать свой недавно представленный COM-интерфейс.Насколько я понимаю, мне это понадобится в двух случаях:
- если я хочу включить маршалинг - то я могу прописать там прокси/заглушку
- если я хочу опубликовать дополнительную информацию о своем компоненте, чтобы другие разработчики могли найти идентификатор интерфейса и найти его удобочитаемое имя в значении HKCR\Interface{InterfaceId}\Default.
Есть ли другие сценарии, в которых мне нужно зарегистрировать свой интерфейс в HKCR\Interface?
Решение
Ссылку на библиотеку типов интерфейса можно разместить под подразделом HKCR\Interface\IID.Это важно, если вы хотите поддерживать маршалинг без необходимости писать собственный прокси.
Если вы создаете объект автоматизации OLE, регистрация интерфейса также необходима для того, чтобы типобезопасная привязка работала правильно в любом приложении Visual Basic, которое хочет использовать ваш объект.
Не связан с StackOverflow