Dienstprogramme
Ein -Dienstprogramm enthält ausführbaren Code für einen oder mehrere Dienste. Ein mit dem Typ SERVICE_WIN32_OWN_PROCESS erstelltes Dienstprogramm enthält nur den Code für einen Dienst. Ein mit dem Typ SERVICE_WIN32_SHARE_PROCESS erstelltes Dienstprogramm enthält Code für mehrere Dienste, sodass sie Code freigeben können. Ein Beispiel für ein Dienstprogramm, das dies tut, ist der generische Diensthostprozess, Svchost.exe, der interne Windows-Dienste hosten. Beachten Sie, dass Svchost.exe für die Verwendung durch das Betriebssystem reserviert ist und nicht von Nicht-Windows-Diensten verwendet werden sollte. Stattdessen sollten Entwickler eigene Diensthostingprogramme implementieren.
Ein Dienstprogramm kann für die Ausführung im Kontext eines Benutzerkontos aus der integrierten (lokalen), primären oder vertrauenswürdigen Domäne konfiguriert werden. Sie kann auch für die Ausführung in einem speziellen Dienstbenutzerkontokonfiguriert werden.
In den folgenden Themen werden die Schnittstellenanforderungen des Dienststeuerungs-Managers (SCM) beschrieben, die ein Dienstprogramm enthalten muss:
Diese Themen gelten nicht für Treiberdienste. Die Schnittstellenanforderungen von Treiberdiensten finden Sie im Windows Driver Kit (WDK).
Ein Dienst wird als Hintergrundprozess ausgeführt, der sich auf die Systemleistung, Reaktionsfähigkeit, Energieeffizienz und Sicherheit auswirken kann. Richtlinien zur Dienstoptimierung finden Sie unter Entwickeln effizienter Hintergrundprozesse für Windows. In den folgenden Themen werden zusätzliche Programmierüberlegungen beschrieben:
- Dienststatusübergänge
- Empfangen von Ereignissen in einem Dienst-
- Multithreaded Services
- Dienste und die Registrierungs-
- Dienste und umgeleitete Laufwerke
- Diensttriggerereignisse
Beachten Sie, dass das Dienstprogramm, wenn das Dienstprogramm als RPC-Server fungiert, dynamische Endpunkte und die gegenseitige Authentifizierung verwenden sollte.