Dienstprogramme
Ein Dienstprogramm enthält ausführbaren Code für einen oder mehrere Dienste. Ein Dienstprogramm, das mit dem typdienst Win32-Prozess erstellt wurde, _ _ _ enthält den Code für nur einen Dienst. Ein Dienstprogramm, das mit dem typdienst _ Win32- _ Freigabeprozess erstellt wurde _ , enthält Code für mehr als einen Dienst, der Ihnen die Freigabe von Code ermöglicht. Ein Beispiel für ein Dienstprogramm, das dies tut, ist der generische Dienst Host Prozess, Svchost.exe, der interne Windows-Dienste hostet. 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 Dienst hostingprogramme implementieren.
Ein Dienstprogramm kann so konfiguriert werden, dass es im Kontext eines Benutzerkontos entweder über die integrierte (lokale), primäre oder vertrauenswürdige Domäne ausgeführt wird. Sie kann auch so konfiguriert werden, dass Sie in einem speziellen Dienst Benutzerkontoausgeführt wird.
In den folgenden Themen werden die Schnittstellen Anforderungen des Dienststeuerungs-Managers (SCM) beschrieben, die ein Dienstprogramm enthalten muss:
Diese Themen gelten nicht für Treiber Dienste. Informationen zu den Schnittstellen Anforderungen für Treiber Dienste finden Sie im Windows-Treiberkit (WDK).
Ein Dienst wird als Hintergrundprozess ausgeführt, der sich auf die Systemleistung, Reaktionsfähigkeit, Energieeffizienz und Sicherheit auswirkt. Richtlinien zur Dienst Optimierung finden Sie unter entwickeln effizienter Hintergrundprozesse für Windows. In den folgenden Themen werden zusätzliche Überlegungen zur Programmierung beschrieben:
- Dienststatus Übergänge
- Empfangen von Ereignissen in einem Dienst
- Multithread-Dienste
- Dienste und die Registrierung
- Dienste und umgeleitete Laufwerke
- Dienst Triggerereignisse
Beachten Sie Folgendes: Wenn das Dienstprogramm als RPC-Server fungiert, sollte es dynamische Endpunkte und gegenseitige Authentifizierung verwenden.