SERVICE_FAILURE_ACTIONSW-Struktur (winsvc.h)

Stellt die Aktion dar, die der Dienstcontroller bei jedem Ausfall eines Diensts ausführen soll. Ein Dienst gilt als fehlerhaft, wenn er beendet wird, ohne eine status von SERVICE_STOPPED an den Dienstcontroller zu melden.

Informationen zum Konfigurieren zusätzlicher Umstände, unter denen die Fehleraktionen ausgeführt werden sollen, finden Sie unter SERVICE_FAILURE_ACTIONS_FLAG.

Syntax

typedef struct _SERVICE_FAILURE_ACTIONSW {
  DWORD     dwResetPeriod;
  LPWSTR    lpRebootMsg;
  LPWSTR    lpCommand;
  DWORD     cActions;
  SC_ACTION *lpsaActions;
} SERVICE_FAILURE_ACTIONSW, *LPSERVICE_FAILURE_ACTIONSW;

Member

dwResetPeriod

Die Zeit, nach der die Fehleranzahl auf 0 zurückgesetzt werden soll, wenn keine Fehler auftreten, in Sekunden. Geben Sie INFINITE an, um anzugeben, dass dieser Wert nie zurückgesetzt werden soll.

lpRebootMsg

Die Nachricht, die vor dem Neustart als Reaktion auf die SC_ACTION_REBOOT-Servicecontrolleraktion an Serverbenutzer gesendet werden soll.

Wenn dieser Wert NULL ist, wird die Neustartmeldung unverändert angezeigt. Wenn der Wert eine leere Zeichenfolge ("") ist, wird die Neustartnachricht gelöscht, und es wird keine Nachricht gesendet.

Dieses Member kann eine lokalisierte Zeichenfolge im folgenden Format angeben:

@[pfad]dllname,-strID

Die Zeichenfolge mit dem Bezeichner strID wird aus dllname geladen. der Pfad ist optional. Weitere Informationen finden Sie unter RegLoadMUIString.

Windows Server 2003 und Windows XP: Lokalisierte Zeichenfolgen werden erst unter Windows Vista unterstützt.

lpCommand

Die Befehlszeile des Prozesses für die CreateProcess-Funktion, die als Reaktion auf die SC_ACTION_RUN_COMMAND-Dienstcontrolleraktion ausgeführt werden soll. Dieser Prozess wird unter demselben Konto wie der Dienst ausgeführt.

Wenn dieser Wert NULL ist, bleibt der Befehl unverändert. Wenn der Wert eine leere Zeichenfolge ("") ist, wird der Befehl gelöscht und kein Programm ausgeführt, wenn der Dienst ausfällt.

cActions

Die Anzahl der Elemente im lpsaActions-Array .

Wenn dieser Wert 0 ist, aber lpsaActions nicht NULL ist, werden der Zurücksetzungszeitraum und das Array von Fehleraktionen gelöscht.

lpsaActions

Ein Zeiger auf ein Array von SC_ACTION Strukturen.

Wenn dieser Wert NULL ist, werden die Elemente cActions und dwResetPeriod ignoriert.

Hinweise

Der Dienststeuerungs-Manager zählt die Anzahl der Fehler jedes Diensts seit dem Start des Systems. Die Anzahl wird auf 0 zurückgesetzt, wenn der Dienst seit dwResetPeriod Sekunden keinen Fehler aufweist. Wenn der Dienst zum N-tenMal ausfällt, führt der Dienstcontroller die im Element [N-1] des lpsaActions-Arrays angegebene Aktion aus. Wenn N größer als cActions ist, wiederholt der Dienstcontroller die letzte Aktion im Array.

Hinweis

Der winsvc.h-Header definiert SERVICE_FAILURE_ACTIONS 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 nicht codierungsneutralem Code 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
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile winsvc.h (einschließen von Windows.h)

Weitere Informationen

ChangeServiceConfig2

CreateProcess

QueryServiceConfig2

SC_ACTION

SERVICE_FAILURE_ACTIONS_FLAG