SERVICE_FAILURE_ACTIONSA Struktur (winsvc.h)
Stellt die Aktion dar, die der Dienstcontroller für jeden Fehler eines Diensts ausführen soll. Ein Dienst wird als fehlgeschlagen betrachtet, wenn er beendet wird, ohne einen 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_ACTIONSA {
DWORD dwResetPeriod;
LPSTR lpRebootMsg;
LPSTR lpCommand;
DWORD cActions;
SC_ACTION *lpsaActions;
} SERVICE_FAILURE_ACTIONSA, *LPSERVICE_FAILURE_ACTIONSA;
Angehörige
dwResetPeriod
Die Zeit, nach der die Fehleranzahl auf Null zurückgesetzt werden soll, wenn keine Fehler vorhanden sind, in Sekunden. Geben Sie INFINITE- an, um anzugeben, dass dieser Wert nie zurückgesetzt werden soll.
lpRebootMsg
Die Nachricht, die an Serverbenutzer übertragen werden soll, bevor sie als Reaktion auf die aktion SC_ACTION_REBOOT ServiceController neu gestartet wird.
Wenn dieser Wert NULL-ist, ist die Neustartmeldung unverändert. Wenn der Wert eine leere Zeichenfolge ("") ist, wird die Neustartnachricht gelöscht, und es wird keine Nachricht übertragen.
Dieser Member kann eine lokalisierte Zeichenfolge mit dem folgenden Format angeben:
@[Pfad]dllname,-strID
Die Zeichenfolge mit bezeichner strID wird aus dllnamegeladen; der Pfad optional ist. 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-Servicecontroller-Aktion ausgeführt werden soll. Dieser Prozess wird unter demselben Konto wie der Dienst ausgeführt.
Wenn dieser Wert NULL-ist, ist der Befehl unverändert. Wenn der Wert eine leere Zeichenfolge ("") ist, wird der Befehl gelöscht, und es wird kein Programm ausgeführt, wenn der Dienst fehlschlägt.
cActions
Die Anzahl der Elemente im lpsaActions Arrays.
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 cActions- und dwResetPeriod--Member ignoriert.
Bemerkungen
Der Dienststeuerungs-Manager zählt, wie oft jeder Dienst seit dem Systemstart fehlgeschlagen ist. Die Anzahl wird auf 0 zurückgesetzt, wenn der Dienst für dwResetPeriod Sekunden nicht fehlgeschlagen ist. Wenn der Dienst für die N--Zeit fehlschlägt, führt der Servicecontroller die im Element [N-1] des lpsaActions Array angegebene Aktion aus. Wenn N- größer als cActionsist, wiederholt der Dienstcontroller die letzte Aktion im Array.
Anmerkung
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 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 XP [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2003 [Nur Desktop-Apps] |
Header- | winsvc.h (enthalten Windows.h) |