簡介
它的執行檔位於%SystemRoot%\System32\services.exe。服務進程與SCM的互動通過已定義的API完成,同一API也被互動式Windows服務管理工具使用,例如MMC擴展Services.msc和命令行的服務控制實用工具sc.exe。
實現
延遲的自動啟動服務
延遲的自動啟動服務在Windows Vista中被添加,目的是解決系統啟動耗時過長的問題,以及提高關鍵服務的啟動速度。在設計之初,自動啟動的服務初始化方法是為其他應用程式和服務依賴的基本系統服務所涉及。SCM僅在處理所有非延遲的自動啟動服務後初始化延遲服務(調用ScInitDelayStart()函式)。此函式用工作執行緒延遲並排隊工作項(默認120秒)。除在延遲之後初始化,延遲與非延遲的自動啟動服務沒有其他區別。
設備驅動程式
註冊表值Type(類型)為SERVICE_KERNEL_DRIVER或SERVICE_FILE_SYSTEM_DRIVER的服務會被特殊處理:這代表其為設備驅動程式,ScStartService()會調用ScLoadDeviceDriver()函式來載入相應的驅動程式(通常是擴展名為.sys的檔案,大多位於%SystemRoot%\System32\Drivers\目錄)。為了此目的,NtLoadDriver系統調用已被引用,SeLoadDriverPrivilege也已添加到SCM進程。
網路驅動器
SCM還提供了一個與Windows服務無關的額外功能:它會在一個網路驅動器連線被創建或刪除時通知圖形用戶界面應用程式(例如Windows Explorer),通過廣播視窗訊息WM_DEVICECHANGE。
Windows服務
Windows服務是指Windows NT作業系統中的一種運行在後台的電腦程式。它在概念上類似於Unix守護進程。Windows服務必須匹配服務控制管理器(負責管理Windows服務的組件)的接口規則和協定。
Windows服務可以配置為在作業系統啟動時運行,並且在Windows運行期間持續在後台運行。服務也可以手動或基於某個事件而啟動。Windows NT作業系統包含眾多服務,分別運行在三種用戶帳戶環境中:系統、網路服務和本地服務。這些Windows組件通常採用Windows服務託管進程。因為Windows服務運行在其自身的專用用戶帳戶中,它們可以在用戶未登錄時活動。
在Windows Vista之前,安裝為“互動服務”的服務可以與Windows桌面互動和顯示圖形用戶界面。但在Windows Vista中,互動服務已被棄用,並且可能無法正常運行。
Svchost.exe
Svchost.exe是微軟的視窗作業系統里專門用來運行DLL程式的前導程式。 它正確的位置應該位於作業系統盤根目錄的\Windows\system32目錄下(64位系統則亦在系統盤根目錄的\Windows\SysWOW64)。如果在其他地方看到,那么很可能是病毒程式。