Freigeben über


Application Verifier - Stop Codes - Services

Die Dienste testen, überprüfen Sie, ob Windows-Dienste ordnungsgemäß verwendet werden. Beispielsweise, dass Dienste gestartet und ordnungsgemäß beendet werden. Weitere Informationen zu Windows-Diensten finden Sie unter Services.

Die folgenden Stoppcodes sind in dieser Gruppe von Tests enthalten.

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

wahrscheinliche Ursache

Die Anwendung wurde wahrscheinlich nicht mit dem definierten UNICODE-Makro kompiliert, und daher werden nicht-Unicode-Schnittstellen verwendet.

Informationen, die von Application Verifier angezeigt werden
  • Format: -  API-Name %ws
  • Parameter 1 - nicht verwendet.
  • Parameter 2 - Nicht verwendet.
  • Parameter 3 - Nicht verwendet.
  • Parameter 4 – nicht verwendet.

Weitere Informationen
  • Testebene: Dienst
  • Stopp-ID: USING_NON_UNICODE_API
  • Stoppcode: 4000000
  • Schweregrad: Fehler
  • Einmaliger Fehler: Nein
  • Fehlerbericht: Break
  • Protokolldatei: ja
  • Backtrace erstellen: Ja

StartServiceCtrlDispatcher-API wird ein zweites Mal aufgerufen

wahrscheinliche Ursache

Diese API soll nur einmal zu Beginn der Dienst-Wmain-Funktion aufgerufen werden.

Informationen, die von Application Verifier angezeigt werden
  • 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: Dienst
  • -Stopp-ID: CTRL_DISPATCHER_CALLED_TWICE
  • Stoppcode: 4000001
  • Schweregrad: Fehler
  • Einmaliger Fehler: Nein
  • Fehlerbericht: Break
  • Protokolldatei: ja
  • Backtrace erstellen: Ja

Ungültiges SERVICE_STATUS Handle wird an SetServiceStatus übergeben.

wahrscheinliche Ursache

Ungültiges SERVICE_STATUS Handle wird an SetServiceStatus übergeben.

Informationen, die von Application Verifier angezeigt werden
  • 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: Dienst
  • Stopp-ID: INVALID_SERVICE_STATUS_HANDLE
  • Stoppcode: 4000002
  • Schweregrad: Fehler
  • Einmaliger Fehler: Nein
  • Fehlerbericht: Break
  • Protokolldatei: ja
  • Backtrace erstellen: Ja

SetServiceStatus wird aus zwei Threads aufgerufen

wahrscheinliche Ursache

Diese API soll serial aufgerufen werden.

Informationen, die von Application Verifier angezeigt werden
  • Format: –  API-Name %ws wird gleichzeitig vom %ws Dienst aufgerufen.
  • Parameter 1 - LPSERVICE_STATUS übergebener Wert.
  • Parameter 2 - Nicht verwendet.
  • Parameter 3 - Nicht verwendet.
  • Parameter 4 – nicht verwendet.

Weitere Informationen
  • Testebene: Dienst
  • Stopp-ID: SET_SERVICE_STATUS_RACE
  • Stoppcode: 4000003
  • Schweregrad: Fehler
  • Einmaliger Fehler: Nein
  • Fehlerbericht: Break
  • Protokolldatei: ja
  • Backtrace erstellen: Ja

STOP/SHUTDOWN-Steuerelemente werden akzeptiert, während sich der Dienst im START_PENDING Zustand befindet.

wahrscheinliche Ursache

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

Informationen, die von Application Verifier angezeigt werden
  • Format: -  Dienstname: %ws dwControlsAccepted: %08X
  • Parameter 1 - LPSERVICE_STATUS übergebener Wert.
  • Parameter 2 - Nicht verwendet.
  • Parameter 3 - Nicht verwendet.
  • Parameter 4 – nicht verwendet.

Weitere Informationen
  • Testebene: Dienst
  • Stopp-ID: STOP_SHUTDOWN_ACCEPTED
  • Code beenden: 4000004
  • Schweregrad: Warnung
  • Einmaliger Fehler: Nein
  • Fehlerbericht: Keine
  • Protokolldatei: ja
  • Backtrace erstellen: Ja

SERVICE versucht einen ungültigen Zustandsübergang.

wahrscheinliche Ursache

Der Dienst hat versucht, einen ungültigen Zustandsübergang oder identische Statusparameter festzulegen.

Informationen, die von Application Verifier angezeigt werden
  • Format: -  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 - Last SetServiceStatus stack trace.
  • Parameter 4 – nicht verwendet.

Weitere Informationen
  • Testebene: Dienst
  • -Stopp-ID: INVALID_STATE_TRANSITION
  • Stoppcode: 4000005
  • Schweregrad: Fehler
  • Einmaliger Fehler: Nein
  • Fehlerbericht: Break
  • Protokolldatei: ja
  • Backtrace erstellen: Ja

SERVICE versucht, identische Statusparameter festzulegen

wahrscheinliche Ursache

Der Dienst hat versucht, identische Statusparameter festzulegen.

Informationen, die von Application Verifier angezeigt werden
  • Format: -  Der Dienst %ws versucht, identische Statusparameter festzulegen
  • Parameter 1 - LPSERVICE_STATUS aktueller Zustand.
  • Parameter 2 - LPSERVICE_STATUS Neuer Zustand.
  • Parameter 3 - Last SetServiceStatus stack trace.
  • Parameter 4 – nicht verwendet.

Weitere Informationen
  • Testebene: Dienst
  • Stopp-ID: DUPLICATE_STATE_PARAMS
  • Stoppcode: 4000006
  • Schweregrad: Warnung
  • Einmaliger Fehler: Nein
  • Fehlerbericht: Keine
  • Protokolldatei: ja
  • Backtrace erstellen: Ja

SERVICE verlässt ausstehende Threads nach dem Eingeben des STOPP-Zustands

wahrscheinliche Ursache

Der Dienst verlässt ausstehende Threads nach dem Deklarieren des STOPPED-Zustands.

Informationen, die von Application Verifier angezeigt werden
  • Format: -  Dienst-%ws verleckt Threads
  • Parameter 1 – Thread-ID des durchleckten Threads.
  • Parameter 2 – Diensttag.
  • Parameter 3 - Nicht verwendet.
  • Parameter 4 – nicht verwendet.

Weitere Informationen
  • Testebene: Dienst
  • Stopp-ID: LEAKED_THREAD
  • Code beenden: 4000007
  • Schweregrad: Fehler
  • Einmaliger Fehler: Nein
  • Fehlerbericht: Break
  • Protokolldatei: ja
  • Backtrace erstellen: Ja

Siehe auch

Application Verifier - Stop Codes and Definitions

Application Verifier – Übersicht

Application Verifier – Features

Application Verifier – Testen von Anwendungen

Application Verifier – Tests innerhalb von Application Verifier

Application Verifier – Debuggen der Anwendungsüberprüfung beendet

Application Verifier – Häufig gestellte Fragen