AppIDFlags

一組旗標,可控制 COM 伺服器的啟用行為。

登錄項目

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
   {AppID_GUID}
      AppIDFlags = flags

備註

這是 REG_DWORD 值。

旗標值 常數
0x1 APPIDREGFLAGS_ACTI加值稅E_IUSERVER_INDESKTOP
0x2 APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND
0x4 APPIDREGFLAGS_ISSUE_ACTI加值稅ION_RPC_AT_IDENTIFY

 

APPIDREGFLAGS_ACTI加值稅E_IUSERVER_INDESKTOP描述

如果在AppIDFlags中清除APPIDREGFLAGS_ACTI加值稅E_IUSERVER_INDESKTOP旗標,或AppIDFlags不存在,則終端機伺服器會話中的用戶端發出互動式使用者COM 伺服器的啟用要求,將會系結至或啟動並系結至啟用要求中會話 「winsta0」視窗站的 「default」 桌面 COM 伺服器。 例如,如果用戶端執行會話 3 的 「winsta0\desktop1」,會話 3 的啟用要求將會系結至會話 3 的 「winsta0\default」 中的 COM 伺服器,即使 COM 伺服器的實例已在會話 3 的 「winsta0\desktop1」 中執行也一樣。

如果 APPIDREGFLAGS_ACTI加值稅E_IUSERVER_INDESKTOP 旗標是在 AppIDFlags 值中設定,COM 將會系結至或啟動並系結至用戶端桌面執行的伺服器進程,以及啟用要求中的會話。 例如,如果用戶端在會話 3 中執行 「winsta0\desktop1」,會話 3 的啟用要求將會系結至會話 3 中的 「winsta0\desktop1」,或啟動並系結至會話 3 中的 COM 伺服器,即使 COM 伺服器的實例已在會話 3 的 「winsta0\default」 中執行也一樣。

用戶端可以使用 會話 Moniker ,在用戶端提出啟用要求時指定與用戶端會話不同的會話。

APPIDREGFLAGS_ACTI加值稅E_IUSERVER_INDESKTOP旗標僅適用于設定為 RunAs 「Interactive User」 的 COM 伺服器。

APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND描述

如果在AppIDFlags中設定APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND旗標,則設定為 RunAs 「Enableor」 的 COM 伺服器將會以進程安全性描述元啟動,允許PROCESS_ALL_ACCESS進程權杖的 LogonID SID。 此外,安全性描述元的擁有者將會設定為進程權杖的 LogonID SID。

如果在AppIDFlags中設定APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND旗標,則設定為 RunAs 「This User」 的 COM 伺服器將會以進程安全性描述元啟動,允許在進程權杖的 LogonID SID 中PROCESS_ALL_ACCESS。 此外,安全性描述元的擁有者將會設定為進程權杖的 LogonID SID。 此外,COM 服務控制管理員 (SCM) 修改 COM 伺服器進程的權杖,如下所示:

  • 它會將 APPID SID 新增至權杖。 它會授與權杖預設任意存取控制清單中的 APPID SID 完整存取權, (DACL) 。 在 Windows Vista 和更新版本的 Windows 中,它會授與權杖預設 DACL 中 OwnerRights SID READ_CONTROL 許可權。 在Windows Vista 版本的 Windows中,它會將權杖擁有者設定為 APPID SID。

使用 APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND 旗標時,必須考慮下列安全性考慮:

  • APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND旗標是要由在其中一個內建服務安全性內容下啟動的 COM 伺服器設定;NetworkService 或 LocalService 帳戶。 如果伺服器模擬具有特殊許可權的用戶端,且未設定 APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND 旗標,則具有相同安全性內容的其他進程中執行的惡意程式碼可以藉由從 COM 伺服器進程攔截特殊許可權用戶端的模擬權杖來提升許可權。
  • 設定 APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND 旗標時,COM 會在 RunAs 「Activator」 COM 伺服器的情況下強化進程物件的安全性描述元。 對於這類伺服器,COM 用戶端預期會強化它用於 COM 啟用的權杖。
  • 設定 APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND 旗標時,COM 會在 RunAs 「This User」 COM 伺服器的情況下強化進程物件的安全性描述元。 它也會強化 COM 伺服器的進程權杖,因為 COM SCM 是建立權杖的實體。

只有在套用 MSRC8322 修補程式 (MS09-012) 時,Windows XP、Windows Server 2003、Windows Vista 和 Windows Server 2008 才支援APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND旗標。 Windows 7 版和更新版本的 Windows中支援它。

APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND旗標僅適用于設定為 RunAs 「Activator」 或 「This User」 的 COM 伺服器。 它不適用於 NT 服務的 COM 伺服器。

APPIDREGFLAGS_ISSUE_ACTI加值稅ION_RPC_AT_IDENTIFY描述

如果在AppIDFlags中設定APPIDREGFLAGS_ISSUE_ACTI加值稅ION_RPC_AT_IDENTIFY旗標,COM SCM 會使用模擬層級的RPC_C_IMP_LEVEL_IDENTIFY,對 COM 伺服器進程發出物件啟用要求。

如果未設定 APPIDREGFLAGS_ISSUE_ACTI加值稅ION_RPC_AT_IDENTIFY 旗標,COM SCM 會使用模擬層級 的 RPC_C_IMP_LEVEL_IMPERSONATE,對 COM 伺服器進程發出物件啟用要求。

使用 APPIDREGFLAGS_ISSUE_ACTI加值稅ION_RPC_AT_IDENTIFY 旗標時,必須考慮下列安全性考慮:

  • APPIDREGFLAGS_ISSUE_ACTI加值稅ION_RPC_AT_IDENTIFY旗標是要供 COM 伺服器使用,這些伺服器不會代表物件啟用要求中的用戶端執行工作。 針對這類伺服器,在 RPC_C_IMP_LEVEL_IDENTIFY發出 COM SCM 發出物件啟用要求,可將具有SE_IMPERSONATE_NAME層級之特殊許可權權杖的機會降到最低

Windows 7 和更新版本的 Windows 支援APPIDREGFLAGS_ISSUE_ACTI加值稅ION_RPC_AT_IDENTIFY旗標。

桌上型電腦

模擬層級

互動式使用者

會話 Monikers

視窗月臺