Lista över tjänstposter
När varje tjänstpost läse från databasen med installerade tjänster skapar SCM en tjänstpost för tjänsten. En tjänstpost innehåller:
- Tjänstnamn
- Starttyp (starta automatiskt eller starta på begäran)
- Tjänststatus (se SERVICE_STATUS struktur)
- Typ
Aktuellt tillstånd
Godkända kontrollkoder
Slutkod
Väntetips - Pekare till beroendelista
Användarnamnet och lösenordet för ett konto anges när tjänsten installeras. SCM lagrar användarnamnet i registret och lösenordet i en säker del av LSA (Local Security Authority). Systemadministratören kan skapa konton med lösenord som aldrig upphör att gälla. Alternativt kan systemadministratören skapa konton med lösenord som upphör att gälla och hantera kontona genom att ändra lösenorden med jämna mellanrum.
SCM behåller två kopior av ett användarkontos lösenord, ett aktuellt lösenord och ett lösenord för säkerhetskopiering. Lösenordet som anges första gången tjänsten installeras lagras som det aktuella lösenordet och lösenordet för säkerhetskopieringen initieras inte. När SCM försöker köra tjänsten i säkerhetskontexten för användarkontot använder den det aktuella lösenordet. Om det aktuella lösenordet har använts sparas det också som lösenord för säkerhetskopiering. Om lösenordet ändras med funktionen ChangeServiceConfig eller verktyget För kontrollpanelen för Tjänster lagras det nya lösenordet som det aktuella lösenordet och det tidigare lösenordet lagras som säkerhetskopians lösenord. Om SCM försöker starta tjänsten och det aktuella lösenordet misslyckas använder den lösenordet för säkerhetskopiering. Om säkerhetskopieringslösenordet har använts sparas det som det aktuella lösenordet.
SCM uppdaterar tjänststatusen när en tjänst skickar statusmeddelanden med hjälp av funktionen SetServiceStatus. SCM underhåller statusen för en drivrutinstjänst genom att fråga I/O-systemet, i stället för att ta emot statusmeddelanden, som från en tjänst.
En tjänst kan registrera ytterligare typinformation genom att anropa funktionen SetServiceBits. Funktionerna NetServerGetInfo och NetServerEnum hämtar de tjänsttyper som stöds.