com4:InProcessServerClassReference
Указывает ссылку на класс или класс, с которой связан зарегистрированный внутрипроцессный сервер, и задает сведения о регистрации.
Иерархия элементов
<com4:InProcessServerClassReference>
Синтаксис
<com4:InProcessServerClassReference
EnableOleDefaultHandler = 'A boolean value.'
Id = 'A GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.' />
Элементы и атрибуты
Атрибуты
Атрибут | Описание | Тип данных | Обязательно | Значение по умолчанию |
---|---|---|---|---|
EnableOleDefaultHandler | Это значение должно иметь значение true, если значение по умолчанию для ключа InprocHandler32 — Ole32.dll . В противном случае его следует опустить. |
Логическое значение. | Да | Неверно |
Id | Идентификатор класса , на который ссылается ссылка. | GUID в формате xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx. | Да |
Дочерние элементы
Отсутствует.
Родительские элементы
Родительский элемент | Описание |
---|---|
com4:SurrogateServer | Регистрирует SurrogateServer с одной или несколькими регистрациями классов. |
Комментарии
Ключ CLSID](/windows/win32/com/clsid-key-hklm) в макете реестра COM позволяет зарегистрировать CLSID для активации inproc (CLSCTX_INPROC_SERVER) и для активации outofproc на суррогатном сервере (CLSCTX_LOCAL_SERVER), указав:
- Сведения об активации Inproc в подразделе InprocServer32 .
- Ссылка на ключ AppID через значение AppID ключа CLSID, где ключ AppID задает суррогат через значение DllSurrogate . Обратите внимание, что для активации outofproc на суррогатном сервере сведения о регистрации inproc-сервера, например путь dll и ThreadingModel, также используются при активации outofproc. Дочерний элемент ClassReference элемента InProcessServer позволяет пакету, который регистрирует CLSID для активации inproc и outofproc, чтобы указать сведения о сервере inproc один раз в качестве элемента InProcessServer/Class или InProcessServer/ClassReference , и ссылаться на этот элемент из SurrogateServer, поддерживающего активацию clSID outofproc. Эта структура регистраций inproc/outofproc более точно отражает макет реестра COM, чем независимое указание пути DLL и ThreadingModel в элементах InProcessServer/ClassReference и SurrogateServer/ClassReference.
При упаковке приложения с CLSID, зарегистрированным для активации outofproc на суррогатном сервере, обычно рекомендуется регистрировать в манифесте только суррогатный сервер. Например, суррогатные регистрации часто используются для поддержки точек расширения на основе COM, которые исторически поддерживали реализации inproc-сервера, но теперь рекомендуют регистрацию сервера outofproc в качестве рекомендации для изоляции. Для упакованных приложений существуют дополнительные функциональные ограничения для серверов inproc (дополнительные сведения см. в разделе In-ProcessServers ), тогда как любой пакет с ограниченной возможностью runFullTrust может успешно зарегистрировать суррогатный сервер, а для большинства точек расширения, регистрирующих суррогатный сервер, достаточно, чтобы включить функциональные возможности расширения. Однако если упаковаированному приложению требуется поддержка инпрок-активации своих идентификаторов CLSID для совместимости с другими приложениями, которые запрашивают активацию inproc (CLSCTX_INPROC_SERVER), и удовлетворяет требованиям для регистрации сервера inproc, оно может зарегистрировать CLSID для активации inproc и outofproc активации в суррогате. В этом случае рекомендуется указать сведения о сервере inproc в элементе InProcessServer/Class или InProcessServer/ClassReference и ссылаться на них из элемента SurrogateServer/InProcessServerClassReference .
Примеры
В следующем примере показано использование InProcessServerClassreference для ссылки на класс в регистрации суррогатного сервера.
<com4:Class Id="d57899b9-1334-4600-904a-719df0512988" DisplayName="CLSID_Baz"/>
<com4:InProcessServer Path="MyServer.dll">
<com4:ClassReference Id="d57899b9-1334-4600-904a-719df0512988" ThreadingModel="Apartment"/>
</com4:InProcessServer>
<com:SurrogateServer DisplayName="My surrogate server">
<com4:InProcessServerClassReference Id="d57899b9-1334-4600-904a-719df0512988"/>
</com:SurrogateServer>
Требования
Элемент | Значение |
---|---|
Пространство имен | http://schemas.microsoft.com/appx/manifest/com/windows10/4 |
Minimum OS Version | Windows 10 (сборка 20348) |
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по