共用方式為


com4:InProcessServerClassReference

指定與註冊同進程伺服器相關聯的類別或類別參考,並設定註冊詳細數據。

元素階層

<套件>

     <應用程式>

          <應用程式>

               <擴充功能>

                    <com4:SurrogateServer>

                         <com4:InProcessServerClassReference>

     <擴充功能>

          <com4:SurrogateServer>

               <com4:InProcessServerClassReference>

語法

<com4:InProcessServerClassReference
  EnableOleDefaultHandler = 'A boolean value.'
  Id = 'A GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.' />

屬性和元素

屬性

屬性 描述 數據類型 必填 預設值
EnableOleDefaultHandler 如果 InprocHandler32 索引鍵的預設值 Ole32.dll,則這應該設定為 true。 否則,應該省略它。 布爾值。 是的
識別碼 所參考 類別 的標識碼。 xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxx 格式的 GUID。 是的

子專案

沒有。

父元素

父元素 描述
com4:SurrogateServer 向一或多個類別註冊註冊 SurrogateServer。

言論

COM 登錄配置中的 CLSID 機碼](/windows/win32/com/clsid-key-hklm)可藉由指定下列命令,在代理伺服器中註冊 CLSID 進行 inproc 啟用(CLSCTX_LOCAL_SERVERCLSCTX_INPROC_SERVER),以及在代理伺服器中註冊 outofproc 啟用:

  • InprocServer32 子機碼中的 Inproc 啟用詳細數據。
  • 透過 CLSID 索引鍵的 AppID 值來參考 AppID 金鑰,其中 AppID 索引鍵會透過 DllSurrogate 指定代理 值。 請注意,對於 Surrogate 伺服器中的 outofproc 啟用,inproc 伺服器註冊詳細數據,e.g. dll路徑和 ThreadingModel,也會用於 outofproc 啟用。 InProcessServer 元素的 ClassReference 子系,可讓封裝註冊 inproc 和 outofproc 啟用的 CLSID,以指定 inproc 伺服器詳細數據一次, 作為 InProcessServer/ClassInProcessServer/ClassReference 元素,並從支援 CLSID 啟動 outofproc 啟用的 SurrogateServer 參考這個專案。 inproc/outofproc 註冊的這個結構會比在 InProcessServer/ClassReference 和 SurrogateServer/ClassReference 元素中單獨指定 dll 路徑和 ThreadingModel 更能更仔細地反映 COM 登錄配置。

在 Surrogate 伺服器中封裝已註冊為 outofproc 啟用的 CLSID 應用程式時,通常建議只在指令清單中註冊 Surrogate 伺服器。 例如,代理註冊通常用來支持過去啟用 Inproc 伺服器實作的 COM 擴充點,但現在建議 Outofproc 伺服器註冊作為隔離的最佳做法。 針對封裝的應用程式,內部伺服器還有其他功能限制(如需詳細資訊,請參閱 In-ProcessServers),而任何具有 runFullTrust 受限制功能的套件 可以成功註冊代理伺服器,而且對於註冊代理伺服器的大部分擴充點而言,都足以啟用擴充功能。 不過,如果封裝的應用程式需要支援其CLSID的內建啟用,以與要求inproc啟用的其他應用程式相容(CLSCTX_INPROC_SERVER),並滿足註冊inproc伺服器的需求,則可以在代理中註冊 CLSID 以進行內建啟用和 outofproc 啟用。 在此情況下,建議您在 inProcessServer/ClassInProcessServer/ClassReference 元素中提供 inproc 伺服器詳細數據,並從 InProcessServerClassReference 元素 SurrogateServer參考它們。

例子

下列範例說明如何使用 InProcessServerClassreference 來參考 Surrogate 伺服器註冊中的類別。

<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> 

要求

專案 價值
Namespace http://schemas.microsoft.com/appx/manifest/com/windows10/4
最低 OS 版本 Windows 10 (組建 20348)