Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os serviços testam, verificam o uso adequado dos Serviços do Windows. Por exemplo, que os serviços estão sendo iniciados e interrompidos corretamente. Para obter mais informações sobre os Serviços do Windows, consulte Services.
Os seguintes códigos de paragem estão contidos neste conjunto de testes.
Usando uma API não-Unicode (por exemplo, RegisterServiceCtrlHandlerA em vez de RegisterServiceCtrlHandlerW)
Causa provávelMuito provavelmente o aplicativo não foi compilado com a macro UNICODE definida e, portanto, interfaces não-Unicode são usadas.
informações exibidas pelo Application Verifier- Formato: - nome da API %ws
- Parâmetro 1 - Não utilizado.
- Parâmetro 2 - Não utilizado.
- Parâmetro 3 - Não utilizado.
- Parâmetro 4 - Não utilizado.
- camada de teste: Service
- Stop ID: USING_NON_UNICODE_API
- código de paragem: 4000000
- gravidade: erro
- Erro único: não
- Relatório de erros: Break
- Log para arquivo: sim
- Criar backtrace: sim
A API StartServiceCtrlDispatcher está sendo chamada pela segunda vez
Causa provávelEsta API destina-se a ser chamada apenas uma vez no início da função wmain do serviço.
informações exibidas pelo Application Verifier- Formato: - nome da API %ws
- Parâmetro 1 - SERVICE_TABLE_ENTRY parâmetro.
- Parâmetro 2 - Não utilizado.
- Parâmetro 3 - Não utilizado.
- Parâmetro 4 - Não utilizado.
- camada de teste: Service
- ID de parada: CTRL_DISPATCHER_CALLED_TWICE
- Código de paragem: 4000001
- gravidade: erro
- Erro único: não
- Relatório de erros: Break
- Log para arquivo: sim
- Criar backtrace: sim
O identificador de SERVICE_STATUS inválido está sendo passado para SetServiceStatus
Causa provávelO identificador de SERVICE_STATUS inválido está sendo passado para SetServiceStatus.
informações exibidas pelo Application Verifier- Formato: - nome da API %ws
- Parâmetro 1 - SERVICE_STATUS_HANDLE valor.
- Parâmetro 2 - Não utilizado.
- Parâmetro 3 - Não utilizado.
- Parâmetro 4 - Não utilizado.
- camada de teste: Service
- Stop ID: INVALID_SERVICE_STATUS_HANDLE
- Código de paragem: 4000002
- gravidade: erro
- Erro único: não
- Relatório de erros: Break
- Log para arquivo: sim
- Criar backtrace: sim
SetServiceStatus está sendo chamado a partir de dois threads
Causa provávelEsta API destina-se a ser chamada em série.
informações exibidas pelo Application Verifier- Formato: - nome da API %ws está sendo chamado simultaneamente a partir de %ws serviço
- Parâmetro 1 - LPSERVICE_STATUS valor passado.
- Parâmetro 2 - Não utilizado.
- Parâmetro 3 - Não utilizado.
- Parâmetro 4 - Não utilizado.
- camada de teste: Service
- ID de parada: SET_SERVICE_STATUS_RACE
- Código de paragem: 4000003
- gravidade: erro
- Erro único: não
- Relatório de erros: Break
- Log para arquivo: sim
- Criar backtrace: sim
Os controles STOP/SHUTDOWN estão sendo aceitos enquanto o serviço está em START_PENDING estado
Causa provávelA maioria dos serviços não pode aceitar controles de parada/desligamento durante a inicialização
informações exibidas pelo Application Verifier- Formato: - Nome do serviço: %ws dwControlsAccepted: %08X
- Parâmetro 1 - LPSERVICE_STATUS valor passado.
- Parâmetro 2 - Não utilizado.
- Parâmetro 3 - Não utilizado.
- Parâmetro 4 - Não utilizado.
- camada de teste: Service
- Stop ID: STOP_SHUTDOWN_ACCEPTED
- Código de paragem: 4000004
- Gravidade: Aviso
- Erro único: não
- Relatório de erros: Nenhum
- Log para arquivo: sim
- Criar backtrace: sim
SERVICE está tentando uma transição de estado inválida
Causa provávelO serviço tentou fazer uma transição de estado inválida ou definir parâmetros de status idênticos
informações exibidas pelo Application Verifier- Formato: - Service %ws foi encontrado tentando uma transição de estado inválida
- Parâmetro 1 - LPSERVICE_STATUS Estado atual.
- Parâmetro 2 - LPSERVICE_STATUS Novo Estado.
- Parâmetro 3 - Último rastreamento de pilha SetServiceStatus.
- Parâmetro 4 - Não utilizado.
- camada de teste: Service
- ID de parada: INVALID_STATE_TRANSITION
- Código de paragem: 4000005
- gravidade: erro
- Erro único: não
- Relatório de erros: Break
- Log para arquivo: sim
- Criar backtrace: sim
SERVICE está tentando definir parâmetros de status idênticos
Causa provávelO serviço tentou definir parâmetros de status idênticos
informações exibidas pelo Application Verifier- Formato: - O serviço %ws tentou definir parâmetros de status idênticos
- Parâmetro 1 - LPSERVICE_STATUS Estado atual.
- Parâmetro 2 - LPSERVICE_STATUS Novo Estado.
- Parâmetro 3 - Último rastreamento de pilha SetServiceStatus.
- Parâmetro 4 - Não utilizado.
- camada de teste: Service
- Stop ID: DUPLICATE_STATE_PARAMS
- Código de paragem: 4000006
- Gravidade: Aviso
- Erro único: não
- Relatório de erros: Nenhum
- Log para arquivo: sim
- Criar backtrace: sim
SERVICE está deixando threads pendentes depois de entrar no estado INTERROMPIDO
Causa provávelO serviço está deixando threads pendentes depois de declarar o estado STOP
informações exibidas pelo Application Verifier- Formato: - Service %ws está vazando tópicos
- Parâmetro 1 - Thread Id do thread vazado.
- Parâmetro 2 - etiqueta de serviço.
- Parâmetro 3 - Não utilizado.
- Parâmetro 4 - Não utilizado.
- camada de teste: Service
- ID de parada: LEAKED_THREAD
- Código de paragem: 4000007
- gravidade: erro
- Erro único: não
- Relatório de erros: Break
- Log para arquivo: sim
- Criar backtrace: sim
Ver também
Application Verifier - Códigos de parada e definições
Application Verifier - Visão geral
Application Verifier - Recursos
Application Verifier - Testando aplicativos
Application Verifier - Testes dentro do Application Verifier