Compartir a través de


Comprobador de aplicaciones: códigos de detención: servicios

Las pruebas de servicios comprueban el uso adecuado de los servicios de Windows. Por ejemplo, que los servicios se inician y se detienen correctamente. Para obtener más información sobre los servicios de Windows, vea Servicios.

Los siguientes códigos de detención se incluyen en este conjunto de pruebas.

Usar una API que no sea Unicode (por ejemplo, RegisterServiceCtrlHandlerA en lugar de RegisterServiceCtrlHandlerW)

Causa probable

Lo más probable es que la aplicación no se haya compilado con la macro UNICODE definida y, por tanto, se usen interfaces que no sean Unicode.

Información mostrada por Comprobador de aplicaciones
  • Formato:  -  Nombre de API %ws
  • Parámetro 1  - No se usa.
  • Parámetro 2  - No se usa.
  • Parámetro 3  - No se usa.
  • Parámetro 4  - No se usa.

Información adicional
  • Capa de prueba:  Servicio
  • Id. de detención:  USING_NON_UNICODE_API
  • Detener código:  4000000
  • Severidad:  Error
  • Error único:  No
  • Informe de errores:  Romper
  • Inicie sesión en el archivo:  Sí
  • Crear retroceso:  Sí

La API StartServiceCtrlDispatcher se llama una segunda vez

Causa probable

Esta API está pensada para llamarse solo una vez al principio de la función wmain de servicio.

Información mostrada por Comprobador de aplicaciones
  • Formato:  -  Nombre de API %ws
  • Parámetro 1  Parámetro - SERVICE_TABLE_ENTRY.
  • Parámetro 2  - No se usa.
  • Parámetro 3  - No se usa.
  • Parámetro 4  - No se usa.

Información adicional
  • Capa de prueba:  Servicio
  • Id. de detención:  CTRL_DISPATCHER_CALLED_TWICE
  • Detener código:  4000001
  • Severidad:  Error
  • Error único:  No
  • Informe de errores:  Romper
  • Inicie sesión en el archivo:  Sí
  • Crear retroceso:  Sí

El identificador de SERVICE_STATUS no válido se pasa a SetServiceStatus

Causa probable

El identificador de SERVICE_STATUS no válido se pasa a SetServiceStatus.

Información mostrada por Comprobador de aplicaciones
  • Formato:  -  Nombre de API %ws
  • Parámetro 1  - SERVICE_STATUS_HANDLE valor.
  • Parámetro 2  - No se usa.
  • Parámetro 3  - No se usa.
  • Parámetro 4  - No se usa.

Información adicional
  • Capa de prueba:  Servicio
  • Id. de detención:  INVALID_SERVICE_STATUS_HANDLE
  • Detener código:  4000002
  • Severidad:  Error
  • Error único:  No
  • Informe de errores:  Romper
  • Inicie sesión en el archivo:  Sí
  • Crear retroceso:  Sí

Se llama a SetServiceStatus desde dos subprocesos

Causa probable

Esta API está pensada para llamarse en serie.

Información mostrada por Comprobador de aplicaciones
  • Formato:  -  El nombre de API %ws se llama simultáneamente desde el servicio %ws.
  • Parámetro 1  - LPSERVICE_STATUS valor pasado.
  • Parámetro 2  - No se usa.
  • Parámetro 3  - No se usa.
  • Parámetro 4  - No se usa.

Información adicional
  • Capa de prueba:  Servicio
  • Id. de detención:  SET_SERVICE_STATUS_RACE
  • Detener código:  4000003
  • Severidad:  Error
  • Error único:  No
  • Informe de errores:  Romper
  • Inicie sesión en el archivo:  Sí
  • Crear retroceso:  Sí

Los controles STOP/SHUTDOWN se aceptan mientras el servicio está en estado START_PENDING

Causa probable

La mayoría de los servicios no pueden aceptar controles de detención y apagado durante la inicialización

Información mostrada por Comprobador de aplicaciones
  • Formato:  -  Nombre del servicio: %ws dwControlsAccepted: %08X
  • Parámetro 1  - LPSERVICE_STATUS valor pasado.
  • Parámetro 2  - No se usa.
  • Parámetro 3  - No se usa.
  • Parámetro 4  - No se usa.

Información adicional
  • Capa de prueba:  Servicio
  • Id. de detención:  STOP_SHUTDOWN_ACCEPTED
  • Detener código:  4000004
  • Severidad:  Advertencia
  • Error único:  No
  • Informe de errores:  Ninguno
  • Inicie sesión en el archivo:  Sí
  • Crear un seguimiento posterior:  Sí

SERVICE está intentando una transición de estado no válida

Causa probable

El servicio intentó realizar una transición de estado no válida o establecer parámetros de estado idénticos.

Información mostrada por el Comprobador de aplicaciones
  • Formato:  -  Se encontró el servicio %ws al intentar una transición de estado no válida.
  • Parámetro 1  - LPSERVICE_STATUS estado actual.
  • Parámetro 2  - LPSERVICE_STATUS nuevo estado.
  • Parámetro 3  - Último seguimiento de la pila SetServiceStatus.
  • Parámetro 4  - No se usa.

Información adicional
  • Capa de prueba:  Servicio
  • Id. de detención:  INVALID_STATE_TRANSITION
  • Código de detención:  4000005
  • Severidad:  Error
  • Error único:  No
  • Informe de errores:  Romper
  • Inicie sesión en el archivo:  Sí
  • Crear un seguimiento posterior:  Sí

SERVICE está intentando establecer parámetros de estado idénticos

Causa probable

El servicio intentó establecer parámetros de estado idénticos.

Información mostrada por el Comprobador de aplicaciones
  • Formato:  -  El servicio %ws intentó establecer parámetros de estado idénticos.
  • Parámetro 1  - LPSERVICE_STATUS estado actual.
  • Parámetro 2  - LPSERVICE_STATUS nuevo estado.
  • Parámetro 3  - Último seguimiento de la pila SetServiceStatus.
  • Parámetro 4  - No se usa.

Información adicional
  • Capa de prueba:  Servicio
  • Id. de detención:  DUPLICATE_STATE_PARAMS
  • Código de detención:  4000006
  • Severidad:  Advertencia
  • Error único:  No
  • Informe de errores:  Ninguno
  • Inicie sesión en el archivo:  Sí
  • Crear un seguimiento posterior:  Sí

SERVICE deja subprocesos pendientes después de entrar en estado STOPPED

Causa probable

El servicio deja subprocesos pendientes después de declarar el estado STOPPED

Información mostrada por el Comprobador de aplicaciones
  • Formato:  -  El servicio %ws está filtrando subprocesos
  • Parámetro 1  - Identificador de subproceso del subproceso filtrado.
  • Parámetro 2  - Etiqueta de servicio.
  • Parámetro 3  - No se usa.
  • Parámetro 4  - No se usa.

Información adicional
  • Capa de prueba:  Servicio
  • Id. de detención:  LEAKED_THREAD
  • Código de detención:  4000007
  • Severidad:  Error
  • Error único:  No
  • Informe de errores:  Romper
  • Inicie sesión en el archivo:  Sí
  • Crear un seguimiento posterior:  Sí

Consulte también

Comprobador de aplicaciones: códigos y definiciones de detención

Comprobador de aplicaciones: información general

Comprobador de aplicaciones: características

Comprobador de aplicaciones: pruebas de aplicaciones

Comprobador de aplicaciones: pruebas dentro del comprobador de aplicaciones

Comprobador de aplicaciones: se detiene la depuración del comprobador de aplicaciones

Comprobador de aplicaciones: preguntas más frecuentes