com4:InProcessServerClassReference
指定與註冊同進程伺服器相關聯的類別或類別參考,並設定註冊詳細數據。
元素階層
<com4:InProcessServerClassReference>
<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/Class 或 InProcessServer/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 啟用。 在此情況下,建議您在
例子
下列範例說明如何使用 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) |