Condividi tramite


Application Verifier - Stop Codes - Services

I servizi testano l'uso corretto dei servizi Windows. Ad esempio, i servizi vengono avviati e arrestati correttamente. Per altre informazioni sui servizi Windows, vedere Services.

In questo set di test sono contenuti i codici di arresto seguenti.

Uso di un'API non Unicode(ad esempio RegisterServiceCtrlHandlerA anziché RegisterServiceCtrlHandlerW)

probabile causa

Probabilmente l'applicazione non è stata compilata con la macro UNICODE definita e pertanto vengono usate interfacce non Unicode.

Informazioni visualizzate da Application Verifier
  • formato : - nome API  %ws
  • Parametro 1 : Non usato.
  • Parametro 2 : Non usato.
  • Parametro 3 : Non usato.
  • Parametro 4 : Non usato.

Informazioni aggiuntive
  • livello di test : servizio 
  • ID arresto: USING_NON_UNICODE_API
  • Codice di arresto: 4000000
  • gravità : errore di 
  • errore monouso: no
  • Segnalazione errori: interruzione 
  • log nel file: sì
  • Crea backtrace: sì

L'API StartServiceCtrlDispatcher viene chiamata una seconda volta

probabile causa

Questa API deve essere chiamata una sola volta all'inizio della funzione wmain del servizio.

Informazioni visualizzate da Application Verifier
  • formato : - nome API  %ws
  • Parametro 1 - parametro SERVICE_TABLE_ENTRY.
  • Parametro 2 : Non usato.
  • Parametro 3 : Non usato.
  • Parametro 4 : Non usato.

Informazioni aggiuntive
  • livello di test : servizio 
  • ID arresto: CTRL_DISPATCHER_CALLED_TWICE
  • Codice di arresto: 4000001
  • gravità : errore di 
  • errore monouso: no
  • Segnalazione errori: interruzione 
  • log nel file: sì
  • Crea backtrace: sì

Handle di SERVICE_STATUS non valido passato a SetServiceStatus

probabile causa

Handle SERVICE_STATUS non valido viene passato a SetServiceStatus.

Informazioni visualizzate da Application Verifier
  • formato : - nome API  %ws
  • Parametro 1 - valore SERVICE_STATUS_HANDLE.
  • Parametro 2 : Non usato.
  • Parametro 3 : Non usato.
  • Parametro 4 : Non usato.

Informazioni aggiuntive
  • livello di test : servizio 
  • ID arresto: INVALID_SERVICE_STATUS_HANDLE
  • Codice di arresto: 4000002
  • gravità : errore di 
  • errore monouso: no
  • Segnalazione errori: interruzione 
  • log nel file: sì
  • Crea backtrace: sì

SetServiceStatus viene chiamato da due thread

probabile causa

Questa API è destinata a essere chiamata serialmente.

Informazioni visualizzate da Application Verifier
  • formato : -  nome API %ws viene chiamato simultaneamente dal servizio %ws
  • Parametro 1 : LPSERVICE_STATUS valore passato.
  • Parametro 2 : Non usato.
  • Parametro 3 : Non usato.
  • Parametro 4 : Non usato.

Informazioni aggiuntive
  • livello di test : servizio 
  • ID arresto: SET_SERVICE_STATUS_RACE
  • Codice di arresto: 4000003
  • gravità : errore di 
  • errore monouso: no
  • Segnalazione errori: interruzione 
  • log nel file: sì
  • Crea backtrace: sì

I controlli STOP/SHUTDOWN vengono accettati mentre il servizio è in stato START_PENDING

probabile causa

La maggior parte dei servizi non può accettare controlli di arresto/arresto durante l'inizializzazione

Informazioni visualizzate da Application Verifier
  • Formato: - Nome servizio : %ws dwControlsAccepted: %08X
  • Parametro 1 : LPSERVICE_STATUS valore passato.
  • Parametro 2 : Non usato.
  • Parametro 3 : Non usato.
  • Parametro 4 : Non usato.

Informazioni aggiuntive
  • livello di test : servizio 
  • ID arresto: STOP_SHUTDOWN_ACCEPTED
  • Codice di arresto: 4000004
  • gravità : avviso 
  • errore monouso: no
  • Segnalazione errori: Nessuno
  • log nel file: sì
  • Crea backtrace: sì

SERVICE sta tentando una transizione di stato non valida

probabile causa

Il servizio ha tentato di eseguire una transizione di stato non valida o di impostare parametri di stato identici

Informazioni visualizzate da Application Verifier
  • Formato: - %ws del servizio  è stato trovato il tentativo di una transizione di stato non valida
  • Parametro 1 : LPSERVICE_STATUS stato corrente.
  • parametro 2 : LPSERVICE_STATUS nuovo stato.
  • parametro 3 : ultima traccia dello stack SetServiceStatus.
  • Parametro 4 : Non usato.

Informazioni aggiuntive
  • livello di test : servizio 
  • ID arresto: INVALID_STATE_TRANSITION
  • Codice di arresto: 4000005
  • gravità : errore di 
  • errore monouso: no
  • Segnalazione errori: interruzione 
  • log nel file: sì
  • Crea backtrace: sì

SERVICE sta tentando di impostare parametri di stato identici

probabile causa

Il servizio ha tentato di impostare parametri di stato identici

Informazioni visualizzate da Application Verifier
  • formato : -  Il %ws del servizio ha tentato di impostare parametri di stato identici
  • Parametro 1 : LPSERVICE_STATUS stato corrente.
  • parametro 2 : LPSERVICE_STATUS nuovo stato.
  • parametro 3 : ultima traccia dello stack SetServiceStatus.
  • Parametro 4 : Non usato.

Informazioni aggiuntive
  • livello di test : servizio 
  • ID arresto: DUPLICATE_STATE_PARAMS
  • Codice di arresto: 4000006
  • gravità : avviso 
  • errore monouso: no
  • Segnalazione errori: Nessuno
  • log nel file: sì
  • Crea backtrace: sì

SERVICE lascia i thread in sospeso dopo aver immesso lo stato STOPPED

probabile causa

Il servizio lascia thread in sospeso dopo aver dichiarato lo stato STOPPED

Informazioni visualizzate da Application Verifier
  • formato : - %ws del servizio  causa la perdita di thread
  • parametro 1 : id thread del thread persa.
  • parametro 2 : tag del servizio .
  • Parametro 3 : Non usato.
  • Parametro 4 : Non usato.

Informazioni aggiuntive
  • livello di test : servizio 
  • ID arresto: LEAKED_THREAD
  • Codice di arresto: 4000007
  • gravità : errore di 
  • errore monouso: no
  • Segnalazione errori: interruzione 
  • log nel file: sì
  • Crea backtrace: sì

Vedere anche

Application Verifier - Codici di arresto e definizioni

Application Verifier - Panoramica

Application Verifier - Funzionalità

Application Verifier - Testing Applications

Application Verifier - Test in Application Verifier

Application Verifier - Debug application Verifier arresta

Application Verifier - Domande frequenti