Freigeben über


Anwendungsüberprüfung – Stoppcodes – Dienste

Überprüfen Sie bei den Diensten, ob windows-Dienste ordnungsgemäß verwendet werden. Beispielsweise, dass Dienste ordnungsgemäß gestartet und beendet werden. Weitere Informationen zu Windows-Diensten finden Sie unter Dienste.

Die folgenden Stoppcodes sind in diesem Testsatz enthalten.

Verwenden einer Nicht-Unicode-API (z. B. RegisterServiceCtrlHandlerA anstelle von RegisterServiceCtrlHandlerW)

Wahrscheinliche Ursache

Wahrscheinlich wurde die Anwendung nicht mit dem definierten UNICODE-Makro kompiliert und daher werden Nicht-Unicode-Schnittstellen verwendet.

Von Application Verifier angezeigte Informationen
  • Format:  -  API-Name %ws
  • Parameter 1  - Nicht verwendet.
  • Parameter 2  - Nicht verwendet.
  • Parameter 3  - Nicht verwendet.
  • Parameter 4  - Nicht verwendet.

Weitere Informationen
  • Testebene:  Service
  • Stopp-ID:  USING_NON_UNICODE_API
  • Code beenden:  4000000
  • Schweregrad:  Fehler
  • Einmalfehler:  Nein
  • Fehlerbericht:  Brechen
  • Melden Sie sich an die Datei an:  Ja
  • Backtrace erstellen:  Ja

StartServiceCtrlDispatcher-API wird ein zweites Mal aufgerufen

Wahrscheinliche Ursache

Diese API soll nur einmal zu Beginn der Dienstfunktion wmain aufgerufen werden.

Von Application Verifier angezeigte Informationen
  • Format:  -  API-Name %ws
  • Parameter 1  - SERVICE_TABLE_ENTRY Parameter.
  • Parameter 2  - Nicht verwendet.
  • Parameter 3  - Nicht verwendet.
  • Parameter 4  - Nicht verwendet.

Weitere Informationen
  • Testebene:  Service
  • Stopp-ID:  CTRL_DISPATCHER_CALLED_TWICE
  • Code beenden:  4000001
  • Schweregrad:  Fehler
  • Einmalfehler:  Nein
  • Fehlerbericht:  Brechen
  • Melden Sie sich an die Datei an:  Ja
  • Backtrace erstellen:  Ja

Ungültiges SERVICE_STATUS Handle an SetServiceStatus übergeben wird

Wahrscheinliche Ursache

Ungültige SERVICE_STATUS Handle wird an SetServiceStatus übergeben.

Von Application Verifier angezeigte Informationen
  • Format:  -  API-Name %ws
  • Parameter 1  - SERVICE_STATUS_HANDLE Wert.
  • Parameter 2  - Nicht verwendet.
  • Parameter 3  - Nicht verwendet.
  • Parameter 4  - Nicht verwendet.

Weitere Informationen
  • Testebene:  Service
  • Stopp-ID:  INVALID_SERVICE_STATUS_HANDLE
  • Code beenden:  4000002
  • Schweregrad:  Fehler
  • Einmalfehler:  Nein
  • Fehlerbericht:  Brechen
  • Melden Sie sich an die Datei an:  Ja
  • Backtrace erstellen:  Ja

SetServiceStatus wird von zwei Threads aufgerufen

Wahrscheinliche Ursache

Diese API soll fortlaufend aufgerufen werden.

Von Application Verifier angezeigte Informationen
  • Format:  -  API-Name %ws wird gleichzeitig vom %ws-Dienst aufgerufen
  • Parameter 1  - LPSERVICE_STATUS Wert übergeben.
  • Parameter 2  - Nicht verwendet.
  • Parameter 3  - Nicht verwendet.
  • Parameter 4  - Nicht verwendet.

Weitere Informationen
  • Testebene:  Service
  • Stopp-ID:  SET_SERVICE_STATUS_RACE
  • Code beenden:  4000003
  • Schweregrad:  Fehler
  • Einmalfehler:  Nein
  • Fehlerbericht:  Brechen
  • Melden Sie sich an die Datei an:  Ja
  • Backtrace erstellen:  Ja

STOP/SHUTDOWN-Steuerelemente werden akzeptiert, wenn sich der Dienst in START_PENDING Zustand befindet.

Wahrscheinliche Ursache

Die meisten Dienste können während der Initialisierung keine Stopp-/Herunterfahren-Steuerelemente akzeptieren.

Von Application Verifier angezeigte Informationen
  • Format:  -  Dienstname: %ws dwControlsAccepted: %08X
  • Parameter 1  - LPSERVICE_STATUS Wert übergeben.
  • Parameter 2  - Nicht verwendet.
  • Parameter 3  - Nicht verwendet.
  • Parameter 4  - Nicht verwendet.

Weitere Informationen
  • Testebene:  Service
  • Stopp-ID:  STOP_SHUTDOWN_ACCEPTED
  • Code beenden:  4000004
  • Schweregrad:  Warnung
  • Einmalfehler:  Nein
  • Fehlerbericht:  Nichts
  • Protokollieren in Datei:  Ja
  • Backtrace erstellen:  Ja

SERVICE versucht einen ungültigen Zustandsübergang.

Wahrscheinliche Ursache

Der Dienst hat versucht, einen ungültigen Zustandsübergang durchzuführen oder identische status Parameter festzulegen.

Von Application Verifier angezeigte Informationen
  • Format:  –  Der Dienst %ws wurde beim Versuch eines ungültigen Zustandsübergangs gefunden.
  • Parameter 1  - LPSERVICE_STATUS aktueller Zustand.
  • Parameter 2  - LPSERVICE_STATUS Neuer Zustand.
  • Parameter 3  - Letzte SetServiceStatus-Stapelablaufverfolgung.
  • Parameter 4  - Nicht verwendet.

Weitere Informationen
  • Testebene:  Service
  • Stopp-ID:  INVALID_STATE_TRANSITION
  • Code beenden:  4000005
  • Schweregrad:  Fehler
  • Einmaliger Fehler:  Nein
  • Fehlerbericht:  Brechen
  • Protokollieren in Datei:  Ja
  • Backtrace erstellen:  Ja

SERVICE versucht, identische status Parameter festzulegen.

Wahrscheinliche Ursache

Der Dienst hat versucht, identische status Parameter festzulegen.

Von Application Verifier angezeigte Informationen
  • Format:  –  Der Dienst %ws hat versucht, identische status Parameter festzulegen.
  • Parameter 1  - LPSERVICE_STATUS aktueller Zustand.
  • Parameter 2  - LPSERVICE_STATUS Neuer Zustand.
  • Parameter 3  - Letzte SetServiceStatus-Stapelablaufverfolgung.
  • Parameter 4  - Nicht verwendet.

Weitere Informationen
  • Testebene:  Service
  • Stopp-ID:  DUPLICATE_STATE_PARAMS
  • Code beenden:  4000006
  • Schweregrad:  Warnung
  • Einmaliger Fehler:  Nein
  • Fehlerbericht:  Nichts
  • Protokollieren in Datei:  Ja
  • Backtrace erstellen:  Ja

SERVICE verlässt ausstehende Threads, nachdem der Status "BEENDET" eingegeben wurde.

Wahrscheinliche Ursache

Der Dienst verlässt ausstehende Threads, nachdem der Status "BEENDET" deklariert wurde.

Von Application Verifier angezeigte Informationen
  • Format:  -  Dienst %ws geht Threads verloren
  • Parameter 1  - Thread-ID des durchgesickerten Threads.
  • Parameter 2  - Diensttag.
  • Parameter 3  - Nicht verwendet.
  • Parameter 4  - Nicht verwendet.

Weitere Informationen
  • Testebene:  Service
  • Stopp-ID:  LEAKED_THREAD
  • Code beenden:  4000007
  • Schweregrad:  Fehler
  • Einmaliger Fehler:  Nein
  • Fehlerbericht:  Brechen
  • Protokollieren in Datei:  Ja
  • Backtrace erstellen:  Ja

Weitere Informationen

Application Verifier – Stoppcodes und Definitionen

Application Verifier – Übersicht

Application Verifier – Features

Application Verifier – Testen von Anwendungen

Application Verifier – Tests in Application Verifier

Application Verifier – Debuggen der Anwendungsüberprüfung wird beendet

Application Verifier – Häufig gestellte Fragen