Freigeben über


SERVICE_CONTROL_STATUS_REASON_PARAMSA Struktur (winsvc.h)

Enthält Parameter des Dienststeuerelements.

Syntax

typedef struct _SERVICE_CONTROL_STATUS_REASON_PARAMSA {
  DWORD                  dwReason;
  LPSTR                  pszComment;
  SERVICE_STATUS_PROCESS ServiceStatus;
} SERVICE_CONTROL_STATUS_REASON_PARAMSA, *PSERVICE_CONTROL_STATUS_REASON_PARAMSA;

Angehörige

dwReason

Der Grund für die Änderung des Dienststatus in SERVICE_CONTROL_STOP. Wenn der aktuelle Steuerelementcode nicht SERVICE_CONTROL_STOP ist, wird dieses Element ignoriert.

Dieses Element muss auf eine Kombination aus einem allgemeinen Code, einem Hauptgrundcode und einem Nebengrundcode festgelegt werden.

Im Folgenden finden Sie die allgemeinen Grundcodes.

Wert Bedeutung
SERVICE_STOP_REASON_FLAG_CUSTOM
0x20000000
Der Grundcode wird vom Benutzer definiert. Wenn dieses Flag nicht vorhanden ist, wird der Grundcode vom System definiert. Wenn dieses Flag mit einem Systemgrundcode angegeben wird, schlägt der Funktionsaufruf fehl.

Benutzer können benutzerdefinierte Hauptgrundcodes im Bereich SERVICE_STOP_REASON_MAJOR_MIN_CUSTOM (0x00400000) über SERVICE_STOP_REASON_MAJOR_MAX_CUSTOM (0x00ff0000) und Nebengrundcodes im Bereich SERVICE_STOP_REASON_MINOR_MIN_CUSTOM (0x00000100) bis SERVICE_STOP_REASON_MINOR_MAX_CUSTOM (0x0000FFFF) erstellen.

SERVICE_STOP_REASON_FLAG_PLANNED
0x40000000
Der Servicestopp wurde geplant.
SERVICE_STOP_REASON_FLAG_UNPLANNED
0x10000000
Der Dienststopp war nicht geplant.
 

Im Folgenden sind die Hauptgrundcodes aufgeführt.

Wert Bedeutung
SERVICE_STOP_REASON_MAJOR_APPLICATION
0x00050000
Anwendungsproblem.
SERVICE_STOP_REASON_MAJOR_HARDWARE
0x00020000
Hardwareproblem.
SERVICE_STOP_REASON_MAJOR_NONE
0x00060000
Kein wichtiger Grund.
SERVICE_STOP_REASON_MAJOR_OPERATINGSYSTEM
0x00030000
Betriebssystemproblem.
SERVICE_STOP_REASON_MAJOR_OTHER
0x00010000
Anderes Problem.
SERVICE_STOP_REASON_MAJOR_SOFTWARE
0x00040000
Softwareproblem.
 

Im Folgenden sind die Nebengrundcodes aufgeführt.

Wert Bedeutung
SERVICE_STOP_REASON_MINOR_DISK
0x00000008
Scheibe.
SERVICE_STOP_REASON_MINOR_ENVIRONMENT
0x0000000a
Umwelt.
SERVICE_STOP_REASON_MINOR_HARDWARE_DRIVER
0x0000000b
Fahrer.
SERVICE_STOP_REASON_MINOR_HUNG
0x00000006
Unempfänglich.
SERVICE_STOP_REASON_MINOR_INSTALLATION
0x00000003
Installation.
SERVICE_STOP_REASON_MINOR_MAINTENANCE
0x00000002
Instandhaltung.
SERVICE_STOP_REASON_MINOR_MMC
0x00000016
MMC-Problem.
SERVICE_STOP_REASON_MINOR_NETWORK_CONNECTIVITY
0x00000011
Netzwerkverbindung.
SERVICE_STOP_REASON_MINOR_NETWORKCARD
0x00000009
Netzwerkkarte.
SERVICE_STOP_REASON_MINOR_NONE
0x00060000
Kein kleiner Grund.
SERVICE_STOP_REASON_MINOR_OTHER
0x00000001
Anderes Problem.
SERVICE_STOP_REASON_MINOR_OTHERDRIVER
0x0000000c
Anderes Treiberereignis.
SERVICE_STOP_REASON_MINOR_RECONFIG
0x00000005
Rekonfigurieren.
SERVICE_STOP_REASON_MINOR_SECURITY
0x00000010
Sicherheitsproblem.
SERVICE_STOP_REASON_MINOR_SECURITYFIX
0x0000000f
Sicherheitsupdate.
SERVICE_STOP_REASON_MINOR_SECURITYFIX_UNINSTALL
0x00000015
Sicherheitsupdate deinstalliert.
SERVICE_STOP_REASON_MINOR_SERVICEPACK
0x0000000d
Service Pack.
SERVICE_STOP_REASON_MINOR_SERVICEPACK_UNINSTALL
0x00000013
Service Pack-Deinstallation.
SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE
0x0000000e
Softwareupdate.
SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE_UNINSTALL
0x0000000e
Deinstallation von Softwareupdates.
SERVICE_STOP_REASON_MINOR_UNSTABLE
0x00000007
Instabil.
SERVICE_STOP_REASON_MINOR_UPGRADE
0x00000004
Upgrade.
SERVICE_STOP_REASON_MINOR_WMI
0x00000012
WMI-Problem.

pszComment

Eine optionale Zeichenfolge, die zusätzliche Informationen zum Dienststopp bereitstellt. Diese Zeichenfolge wird zusammen mit dem Stoppgrundcode im Ereignisprotokoll gespeichert. Dieses Element muss NULL- oder einer gültigen Zeichenfolge sein, die kleiner als 128 Zeichen ist, einschließlich des endenden Nullzeichens.

ServiceStatus

Ein Zeiger auf eine SERVICE_STATUS_PROCESS-Struktur, die die neuesten Dienststatusinformationen empfängt. Die zurückgegebenen Informationen spiegeln den neuesten Status wider, den der Dienst dem Dienststeuerungs-Manager gemeldet hat.

Der Dienststeuerungs-Manager füllt die Struktur nur aus, wenn ControlServiceEx einen der folgenden Fehlercodes zurückgibt: NO_ERROR, ERROR_INVALID_SERVICE_CONTROL, ERROR_SERVICE_CANNOT_ACCEPT_CTRL oder ERROR_SERVICE_NOT_ACTIVE. Andernfalls wird die Struktur nicht ausgefüllt.

Bemerkungen

Anmerkung

Der winsvc.h-Header definiert SERVICE_CONTROL_STATUS_REASON_PARAMS als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Vista [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2008 [Nur Desktop-Apps]
Header- winsvc.h (enthalten Windows.h)

Siehe auch

ControlServiceEx-

SERVICE_STATUS_PROCESS