Compartilhar via


Verificador de Aplicativos – Parar Códigos – Serviços

Os serviços testam e verificam o uso adequado dos Serviços windows. Por exemplo, os serviços estão sendo iniciados e parados corretamente. Para obter mais informações sobre os Serviços windows, consulte Services.

Os códigos de parada a seguir estão contidos neste conjunto de testes.

Usando uma API não Unicode (por exemplo, RegisterServiceCtrlHandlerA em vez de RegisterServiceCtrlHandlerW)

causa provável

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 Verificador de Aplicativos
  • Formato : –  nome da API %ws
  • parâmetro 1 – Não usado.
  • parâmetro 2 – Não usado.
  • parâmetro 3 – Não usado.
  • parâmetro 4 – Não usado.

Informações Adicionais
  • Camada de Teste: Serviço de 
  • Parar ID: USING_NON_UNICODE_API
  • Código de parada: 4000000
  • severidade do : erro de 
  • erro único: não
  • relatório de erro : interrupção do 
  • Log no arquivo: sim
  • Criar backtrace: sim

API StartServiceCtrlDispatcher está sendo chamada uma segunda vez

causa provável

Essa API deve ser chamada apenas uma vez no início da função wmain do serviço.

Informações exibidas pelo Verificador de Aplicativos
  • Formato : –  nome da API %ws
  • parâmetro 1 – parâmetro SERVICE_TABLE_ENTRY.
  • parâmetro 2 – Não usado.
  • parâmetro 3 – Não usado.
  • parâmetro 4 – Não usado.

Informações Adicionais
  • Camada de Teste: Serviço de 
  • Parar ID: CTRL_DISPATCHER_CALLED_TWICE
  • Parar código: 4000001
  • severidade do : erro de 
  • erro único: não
  • relatório de erro : interrupção do 
  • Log no arquivo: sim
  • Criar backtrace: sim

O identificador de SERVICE_STATUS inválido está sendo passado para SetServiceStatus

causa provável

O identificador de SERVICE_STATUS inválido está sendo passado para SetServiceStatus.

Informações exibidas pelo Verificador de Aplicativos
  • Formato : –  nome da API %ws
  • parâmetro 1 – SERVICE_STATUS_HANDLE valor.
  • parâmetro 2 – Não usado.
  • parâmetro 3 – Não usado.
  • parâmetro 4 – Não usado.

Informações Adicionais
  • Camada de Teste: Serviço de 
  • Parar ID: INVALID_SERVICE_STATUS_HANDLE
  • Parar código: 4000002
  • severidade do : erro de 
  • erro único: não
  • relatório de erro : interrupção do 
  • Log no arquivo: sim
  • Criar backtrace: sim

SetServiceStatus está sendo chamado de dois threads

causa provável

Essa API deve ser chamada em série.

Informações exibidas pelo Verificador de Aplicativos
  • Formato : –  nome da API %ws está sendo chamado simultaneamente do serviço de %ws
  • Parâmetro 1 – valor LPSERVICE_STATUS passado.
  • parâmetro 2 – Não usado.
  • parâmetro 3 – Não usado.
  • parâmetro 4 – Não usado.

Informações Adicionais
  • Camada de Teste: Serviço de 
  • Parar ID: SET_SERVICE_STATUS_RACE
  • Parar código: 4000003
  • severidade do : erro de 
  • erro único: não
  • relatório de erro : interrupção do 
  • Log no arquivo: sim
  • Criar backtrace: sim

Controles STOP/SHUTDOWN estão sendo aceitos enquanto o serviço está em START_PENDING estado

causa provável

A maioria dos serviços não pode aceitar controles de parada/desligamento durante a inicialização

Informações exibidas pelo Verificador de Aplicativos
  • Formato : – nome do serviço : %ws dwControlsAccepted: %08X
  • Parâmetro 1 – valor LPSERVICE_STATUS passado.
  • parâmetro 2 – Não usado.
  • parâmetro 3 – Não usado.
  • parâmetro 4 – Não usado.

Informações Adicionais
  • Camada de Teste: Serviço de 
  • Parar ID: STOP_SHUTDOWN_ACCEPTED
  • Parar código: 4000004
  • severidade : aviso de 
  • erro único: não
  • relatório de erro : Nenhum
  • Log no arquivo: sim
  • Criar backtrace: sim

O SERVIÇO está tentando uma transição de estado inválida

causa provável

O serviço tentou fazer uma transição de estado inválida ou definir parâmetros de status idênticos

Informações exibidas pelo Verificador de Aplicativos
  • Formato : - %ws do Serviço  foi encontrado tentando uma transição de estado inválida
  • parâmetro 1 – estado LPSERVICE_STATUS atual.
  • parâmetro 2 – LPSERVICE_STATUS Novo Estado.
  • parâmetro 3 – último rastreamento de pilha SetServiceStatus.
  • parâmetro 4 – Não usado.

Informações Adicionais
  • Camada de Teste: Serviço de 
  • Parar ID: INVALID_STATE_TRANSITION
  • Parar código: 4000005
  • severidade do : erro de 
  • erro único: não
  • relatório de erro : interrupção do 
  • Log no arquivo: sim
  • Criar backtrace: sim

SERVICE está tentando definir parâmetros de status idênticos

causa provável

O serviço tentou definir parâmetros de status idênticos

Informações exibidas pelo Verificador de Aplicativos
  • Formato : –  O serviço %ws tentou definir parâmetros de status idênticos
  • parâmetro 1 – estado LPSERVICE_STATUS atual.
  • parâmetro 2 – LPSERVICE_STATUS Novo Estado.
  • parâmetro 3 – último rastreamento de pilha SetServiceStatus.
  • parâmetro 4 – Não usado.

Informações Adicionais
  • Camada de Teste: Serviço de 
  • Parar ID: DUPLICATE_STATE_PARAMS
  • Parar código: 4000006
  • severidade : aviso de 
  • erro único: não
  • relatório de erro : Nenhum
  • Log no arquivo: sim
  • Criar backtrace: sim

O SERVIÇO está deixando threads pendentes depois de entrar no estado PARADO

causa provável

O serviço está deixando threads pendentes depois de declarar o estado PARADO

Informações exibidas pelo Verificador de Aplicativos
  • Formato : –  %ws de Serviço está vazando threads
  • Parâmetro 1 – ID do Thread do thread vazado.
  • parâmetro 2 – marca de serviço .
  • parâmetro 3 – Não usado.
  • parâmetro 4 – Não usado.

Informações Adicionais
  • Camada de Teste: Serviço de 
  • Parar ID: LEAKED_THREAD
  • Parar código: 4000007
  • severidade do : erro de 
  • erro único: não
  • relatório de erro : interrupção do 
  • Log no arquivo: sim
  • Criar backtrace: sim

Consulte Também

Verificador de Aplicativos – Parar códigos e definições

Verificador de Aplicativos – Visão geral

Verificador de Aplicativos – Recursos

Verificador de Aplicativos – Testando aplicativos

Verificador de Aplicativos – Testes no Verificador de Aplicativos

Verificador de Aplicativos – Depuração do Verificador de Aplicativos para

Verificador de Aplicativos – Perguntas frequentes