Změny služby pro Systém Windows Vista
V modelu služeb došlo k významným změnám, které zlepšují výkon, spolehlivost, zabezpečení, správu a správu služeb.
Následující tabulka shrnuje vylepšení služeb systému Windows Vista.
Vylepšení | Popis |
---|---|
zpožděné automatické spuštění |
Zpožděné služby automatického spuštění se spustí krátce po spuštění systému. Tím se zlepší výkon při spuštění systému, zatímco pro tyto služby stále poskytuje automatické spouštění. Chcete-li nastavit zpožděný příznak automatického spuštění, zavolejte funkci ChangeServiceConfig2 s SERVICE_CONFIG_DELAYED_AUTO_START_INFO. |
detekce a obnovení selhání |
Pokud služba selže, správce řízení služeb (SCM) může provést akci selhání, například restartování služby při pokusu o obnovení z této chyby. Chcete-li nakonfigurovat akci selhání, zavolejte ChangeServiceConfig2 s SERVICE_CONFIG_FAILURE_ACTIONS. |
oznámení o předběžném nastavení |
Služba se může zaregistrovat, aby obdržela oznámení SERVICE_CONTROL_PRESHUTDOWN ve své funkci HandlerEx předtím, než obdrží oznámení o skutečném vypnutí. To poskytuje služby s delším postupem vypnutí více času na řádné vypnutí. Pokud chcete nastavit hodnotu časového limitu, zavolejte ChangeServiceConfig2 s SERVICE_CONFIG_PRESHUTDOWN_INFO. |
omezený síťový přístup |
Identifikátory SID služby můžete použít k omezení přístupu k portům, protokolům nebo směru síťového provozu. Pokud chcete omezit přístup služby k síti, použijte rozhraní INetFwServiceRestriction. |
spuštěné s nejnižšími oprávněními |
Služby mohou běžet pod libovolným účtem, který obsahuje požadovaná oprávnění (LocalService, NetworkService, LocalSystem, účet domény nebo místní účet) a označit požadovaná oprávnění voláním ChangeServiceConfig2 s SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO. SCM odebere všechna oprávnění, která nejsou nutná. |
Izolace služby |
Služba může izolovat objekty, jako jsou soubory nebo klíče registru, pro výhradní použití tím, že je zabezpečí pomocí položky řízení přístupu, která obsahuje identifikátor SID služby. Po přiřazení tohoto identifikátoru SID ke službě může vlastník služby upravit seznamy řízení přístupu objektů tak, aby udělil přístup k identifikátoru SID. To službě umožňuje přístup ke konkrétním objektům, aniž by běžela pod účtem s vysokými oprávněními nebo snížila zabezpečení objektů. Chcete-li nastavit identifikátor SID služby, zavolejte ChangeServiceConfig2 s SERVICE_CONFIG_SERVICE_SID_INFO. |
oznámení o změnách stavu služby |
Služby se můžou registrovat, aby dostávaly oznámení o vytvoření, odstranění nebo změně stavu pomocí funkce NotifyServiceStatusChange. To je efektivnější než volání funkce QueryServiceStatusEx ve smyčce pro dotazování na stav. |
Izolace relace 0 |
Služby se vždy spouštějí v relaci 0. Před Windows Vista byl první uživatel, který se má přihlásit, také přiřazen k relaci 0. Nyní je relace 0 vyhrazena výhradně pro služby a další aplikace, které nejsou přidružené k interaktivní uživatelské relaci. (První uživatel, který se přihlásí, je připojen k relaci 1, druhý uživatel, který se má přihlásit, je připojen k relaci 2 atd.) Relace 0 nepodporuje procesy, které komunikují s uživatelem. Tato změna znamená, že služba nemůže publikovat nebo odeslat zprávu do aplikace a aplikace nemůže odeslat nebo publikovat zprávu do služby. Služby navíc nemůžou přímo zobrazit položku uživatelského rozhraní, například dialogové okno. Služba může použít funkci WTSSendMessage k zobrazení dialogového okna v jiné relaci. |