Service Control Manager

Service Control Manager (SCM) is a special system process under the Windows NT family of operating systems, which starts, stops and interacts with Windows service processes.[1] It is located in the %SystemRoot%\System32\services.exe executable. Service processes interact with SCM through a well-defined API, and the same API is used internally by the interactive Windows service management tools such as the MMC snap-in Services.msc and the command-line Service Control utility sc.exe.

Implementation

The SCM executable, Services.exe, runs as a Windows console program and is launched by the Wininit process early during the system startup.[2] Its main function, SvcCtrlMain(), launches all the services configured for automatic startup. First an internal database of installed services is initialized by reading the following two registry keys:

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder\List, containing the names and order of service groups. Each service's registry key contains an optional Group value which governs the order of initialization of a respective service or a device driver, with respect to other service groups.
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services, which contains the actual database of services and device drivers and is read into SCM's internal database.[3] SCM reads every service's Group value as well as load-order dependencies from their DependOnGroup and DependOnService registry keys.[4]

In the next step, SCM's main function SvcCtrlMain() calls the function ScGetBootAndSystemDriverState() function which checks whether the device drivers that should be started during the boot or system startup were successfully loaded, and those that have failed to do so are stored in a list called ScFailedDrivers. Then a named pipe \Pipe\Ntsvcs is created as a remote procedure call interface between the SCM and the SCPs (Service Control Processes) that interact with specific services.

Next, it calls the ScAutoStartServices() function which loops through all the services marked as auto-start, paying attention to the calculated load-order dependencies. In case of a circular dependency an error is noted and the service depending on a service that belongs to a group coming later in the load order is skipped. For delayed auto-start services, grouping has no effect, and those are loaded at a later stage of system startup.[5]

For each service it wants to start, the SCM calls the ScStartService() function which checks the name of the file that runs the service's process, ensuring that the account specified for the service is same as the account that the service process runs in. Every service that does not run in the System account is logged in by calling the LSASS function LogonUserEx(), for which LSASS process looks up "secret" passwords stored in the HKLM\SECURITY\Policy\Secrets\ registry key, which were stored by the SCP using the LsaStorePrivateData() API, when the service was originally configured.[6]

Next, the ScLogonAndStartImage() function is called for every service whose service process has not been already launched. Service processes are created in a suspended state via the CreateProcessAsUser() API. Before the service process' execution is resumed, a named pipe \Pipe\Net\NtControlPipeX (where X is a number incremented for each service iteration) is created which serves as a communication channel between the SCM and the service process. Service process connects to the pipe by calling the StartServiceCtrlDispatcher() function, after which the SCM sends the service a "start" command.[7]

Delayed auto-start services

Delayed auto-start services have been added in Windows Vista, in order to solve the problem of a prolonged system startup, as well as to speed-up the start of critical services that cannot be delayed.[8] Originally the auto-start method of service initialization was designed for essential system services upon which other applications and services depend. The SCM initializes the delayed services only after handling all the non-delayed auto-start services, by invoking the ScInitDelayStart() function. This function queues a delayed (120 seconds by default) work item associated with a corresponding worker thread. Other than being initialized after a delay, there are no other differences between delayed and non-delayed services.

Device drivers

Services whose Type registry value is SERVICE_KERNEL_DRIVER or SERVICE_FILE_SYSTEM_DRIVER are handled specially: these represent device drivers for which ScStartService() calls the ScLoadDeviceDriver() function which loads the appropriate driver (usually a file with an extension .sys) which must be located in the %SystemRoot%\System32\Drivers\ directory. For that purpose, the NtLoadDriver system call is invoked, and the SeLoadDriverPrivilege is added to the SCM's process.

Network drive letters

SCM provides an additional functionality completely unrelated to Windows services: it notifies GUI applications such as the Windows Explorer when a network drive-letter connection has been created or deleted, by broadcasting Windows messages WM_DEVICECHANGE.

See also

Notes

  1. ^ Russinovich, Solomon & Ionescu (2009:79)[full citation needed]
  2. ^ Russinovich, Solomon & Ionescu (2009:291)
  3. ^ "Database of Installed Services". Microsoft Developer Network. Retrieved 2011-03-06.
  4. ^ Russinovich, Solomon & Ionescu (2009:292)
  5. ^ Russinovich, Solomon & Ionescu (2009:294)
  6. ^ Russinovich, Solomon & Ionescu (2009:295)
  7. ^ Russinovich, Solomon & Ionescu (2009:296)
  8. ^ Russinovich, Solomon & Ionescu (2009:297)

References

Read other articles:

Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Microsoft Visio – berita · surat kabar · buku · cendekiawan · JSTOR Microsoft VisioTipeaplikasi dan diagramming software (en) Versi stabilMicrosoft Windows: 2021 GenreDiagrammingLisensiTakbebasBagian dar...

 

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus. Cet article ne cite pas suffisamment ses sources (décembre 2018). Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références » En pratique : Quelles sources sont attendues ? ...

 

Kabupaten Tolna Lambang kebesaranNegaraHungariaRegionTransdanubia SelatanIbu kota kabupatenSzekszárdLuas • Total3.703 km2 (1,430 sq mi)Populasi • Total238.400 • Kepadatan64/km2 (170/sq mi) Catatan: Tolna adalah juga nama kota di Hungaria. Tolna adalah nama sebuah Kabupaten administratif (comitatus atau megye) di Hungaria masa kini dan di bekas Kerajaan Hungaria. Kabupaten ini terletak di Hungaria tengah, di tepi barat Sungai Donau. Tola...

South Korean politician (born 1978) In this Korean name, the family name is Lee. Lee Tahney이탄희Lee TahneyMember of the National AssemblyIncumbentAssumed office 30 May 2020Preceded byPyo Chang-wonConstituencyYongin 4th Personal detailsBorn (1978-11-03) 3 November 1978 (age 45)Seoul, South KoreaCitizenshipSouth KoreanPolitical partyDemocraticSpouseOh Ji-wonAlma materHarvard UniversityOccupationJudge, lawyer, politicianReligionRoman Catholic(Christian name : Paul) Lee Tahney (...

 

Pemukiman Harrison Barat di County Franklin Lokasi di Vermont County Franklin adalah sebuah county yang terletak di negara bagian Vermont, Amerika Serikat. Pada sensus 2020, jumlah penduduknya adalah 49.946 jiwa.[1] Pusat pemerintahannya adalah kota St. Albans.[2] Berbatasan dengan provinsi Quebec di Kanada. County ini dibentuk pada tahun 1792 dan diorganisasi pada tahun 1796.[3][4] County Franklin merupakan bagian dari wilayah metropolitan Burlington. Sejarah ...

 

Period of Japanese history, 1333–1336 Kenmu Restoration建武の新政 Kenmu no shinsei1333–1336 Flag Imperial Seal CapitalHeian-kyōCommon languagesLate Middle JapaneseReligion Shinbutsu-shūgōGovernmentAbsolute monarchyEmperor • 1318–1339 Go-Daigo Shōgun • 1333 Moriyoshi• 1335–1336 Narinaga History • Genkō War begins 1333• Siege of Kamakura May 18, 1333• Ashikaga Takauji captures Kyoto February 23 1336 CurrencyRyō Pre...

Cet article est une ébauche concernant une localité italienne et le Piémont. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Castagnole Piemonte Noms Nom français Castagnole Nom piémontais Castagnòle Administration Pays Italie Région Piémont  Ville métropolitaine Turin  Code postal 10060 Code ISTAT 001065 Code cadastral C048 Préfixe tel. 011 Démographie Population 2 186 hab. (31-12...

 

Indian filmmaker This biography of a living person needs additional citations for verification. Please help by adding reliable sources. Contentious material about living persons that is unsourced or poorly sourced must be removed immediately from the article and its talk page, especially if potentially libelous.Find sources: Vysakh – news · newspapers · books · scholar · JSTOR (November 2013) (Learn how and when to remove this message) VysakhVysakh in ...

 

Borough in Pennsylvania, United StatesYoungsville, PennsylvaniaBoroughNickname: The Biggest Little Town on the MapLocation of Youngsville in Warren County, Pennsylvania.Coordinates: 41°51′12″N 79°19′7″W / 41.85333°N 79.31861°W / 41.85333; -79.31861CountryUnited StatesStatePennsylvaniaCountyWarrenFounded1796Government • MayorScott NelsonArea[1] • Total1.33 sq mi (3.45 km2) • Land1.33 sq...

Хип-хоп Направление популярная музыка Истоки фанкдискоэлектронная музыкадабритм-энд-блюзреггидэнсхоллджаз[1]чтение нараспев[англ.]исполнение поэзииустная поэзияозначиваниедюжины[англ.]гриотыскэтразговорный блюз Время и место возникновения Начало 1970-х, Бронкс, Н...

 

Questa voce sull'argomento singoli pop è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Popular Songsingolo discograficoScreenshot tratto dal video del branoArtistaMika FeaturingAriana Grande Pubblicazione23 dicembre 2012 Durata4:07 Album di provenienzaThe Origin of Love GenerePop EtichettaBarclay, Casablanca ProduttoreMika, Greg Wells FormatiDownload digitale, streaming CertificazioniDischi d'arge...

 

 烏克蘭總理Прем'єр-міністр України烏克蘭國徽現任杰尼斯·什米加尔自2020年3月4日任命者烏克蘭總統任期總統任命首任維托爾德·福金设立1991年11月后继职位無网站www.kmu.gov.ua/control/en/(英文) 乌克兰 乌克兰政府与政治系列条目 宪法 政府 总统 弗拉基米尔·泽连斯基 總統辦公室 国家安全与国防事务委员会 总统代表(英语:Representatives of the President of Ukraine) 总...

Anthony LaPagliaLaPaglia and Gia Carides in 2013Lahir31 Januari 1959 (umur 65)Adelaide, Australia Selatan, AustraliaPekerjaanAktorTahun aktif1985–sekarangSuami/istriCherie Michan (cerai) Gia Carides ​ ​(m. 1998; c. 2015)​ Alexandra Henkel ​(m. 2018)​Anak1 Anthony LaPaglia (/ləˈpɑːliə/, pelafalan dalam bahasa Italia: [laˈpaʎʎa]; lahir 31 Januari 1959)[1] adalah eorang aktor Austral...

 

Failed uprising in France 1917 French Army mutiniesPart of the Revolutions of 1917–1923Date25 April 1917 – 8 June 1917LocationFranceCaused by World War I Nivelle Offensive Second Battle of the Aisne Parties French Republic French Army troops The 1917 French Army mutinies took place amongst French Army troops on the Western Front in northern France during World War I. They started just after the unsuccessful and costly Second Battle of the Aisne, the main action in the Nivelle Offensive in...

 

Dam in New South WalesGlennies Creek DamGlennies Creek Dam and Lake St Clair, 2006.Location of the Glennies Creek Dam inNew South WalesCountryAustraliaLocationNew South WalesCoordinates32°20′54″S 151°15′04″E / 32.34833°S 151.25111°E / -32.34833; 151.25111PurposeFlood mitigation, irrigation, water supply and conservationStatusOperationalConstruction beganAugust 1980 (1980-08)Opening dateJune 1983 (1983-06)Construction cost...

British motorcycle racer Cal CrutchlowCrutchlow at the 2015 Grand Prix of the AmericasNationalityBritishBorn (1985-10-29) 29 October 1985 (age 38)Coventry, West Midlands, EnglandCurrent teamMonster Energy Yamaha (Test Rider)Bike number35 Motorcycle racing career statistics MotoGP World Championship Active years2011–2023 ManufacturersYamaha (2011–2013, 2021–2023)Ducati (2014)Honda (2015–2020) Championships02023 championship position29th (3 pts) Starts Wins Podiums Poles ...

 

Italian philosopher and politician This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources.Find sources: Vincenzo Gioberti – news · newspapers · books · scholar · JSTOR (May 2014) Vincenzo GiobertiPrime Minister of SardiniaIn office16 December 1848 – 21 February 1849MonarchCharles AlbertPreceded byEttore Perr...

 

Active galaxy in the constellation Hercules Not to be confused with Hercules (dwarf galaxy). Hercules AVisible light image obtained by Hubble superposed with a radio image taken by the VLA.Observation data (J2000 epoch)ConstellationHerculesRight ascension16h 51m 08.15sDeclination+04° 59′ 33.32″Distance2.1 Gly (643.9 Mpc)CharacteristicsTypecD; E3Other designationsHerc A, 3C 348 Hercules A is a bright astronomical radio source in the constellation Hercules[1] ...

Parliamentary constituency in the United Kingdom, 1885–1974 West FifeFormer County constituencyfor the House of CommonsSubdivisions of ScotlandFife1885–1974 (1974)SeatsOneCreated fromFifeReplaced byCentral Fife,Dunfermline,Kirkcaldy[1] West Fife was a parliamentary constituency represented in the House of Commons of the Parliament of the United Kingdom from 1885 to 1974. Along with East Fife, it was formed by dividing the old Fife constituency. Willie Gallacher of the Communi...

 

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Oktober 2022. Asisten Perencanaan dan Anggaran Kepala Staf TNI Angkatan DaratLambang TNI Angkatan DaratBendera Jabatan Asisten Perencanaan dan Anggaran Kepala Staf Angkatan DaratPetahanaMayor Jenderal TNI I Gusti Ngurah Wisnu Wardanasejak 29 November 2023Pejaba...