LocalService
安裝物件即服務應用程式。
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
{AppID_GUID}
LocalService = name
除了以本機伺服器可執行檔 (EXE) 執行之外,COM 物件也可以選擇封裝本身,以在本機或遠端客戶端啟動時以服務應用程式的形式執行。 服務支援許多實用且 UI 整合的系統管理功能,包括本機和遠端啟動、停止、暫停和重新啟動,以及建立伺服器以在特定使用者帳戶和視窗月臺下執行的能力。
撰寫為服務的物件會藉由建立 LocalService 值和執行標準服務安裝,來安裝 COM以供使用。 LocalService 值必須設定為服務名稱,如 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services 中所設定,做為預設REG_SZ值。
設定 LocalService 時,指派給 ServiceParameters 的任何字串會在啟動服務時,以命令行自變數的形式傳遞至服務。
在許多情況下,服務組態是慣用的,例如,本機和遠端服務管理 API 和使用者介面的功能對於物件所提供的服務可能很有用。 例如,如果物件存留時間很長,或隨時支持啟動、停止、重設或暫停等概念,則利用服務架構的現有系統管理架構應該是一個明顯的選擇。
服務可以動態設定,並可設定為在機器開機時自動執行,或在用戶端應用程式要求時啟動。
如果您要將類別實作為服務,您應該注意下列幾點:
- 如果 LocalService 存在且參考有效的服務,則會忽略 LocalServer32 金鑰的 LocalServer32 金鑰。
- 目前,只有服務應用程式的單一實例可以在計算機上的指定時間執行。 因此,COM 服務必須使用 REGCLS_MULTIPLEUSE 來支援多個用戶端,在啟動時註冊其類別物件。
- 若要正確啟動和初始化,設定為在機器開機時自動執行的 COM 服務必須在其相依服務清單中包含 RPCSS。