Compartir a través de


Evento WMI-Activity 5858 registrado con frecuencia con ResultCode 0x80041032

En este artículo se proporciona una resolución para resolver el identificador de evento WMI-Activity 5858 que se registra con ResultCode = 0x80041032 en Windows Server 2012 R2.

Número de KB original: 3124914

Síntomas

Al usar Windows Server 2012 R2 con aplicaciones que emiten consultas WMI mediante IWbemServices:ExecQuery, el administrador puede observar el siguiente evento en Visor de eventos:

Log Name:  Microsoft-Windows-WMI-Activity/Operational
Source:    WMI-Activity
Event ID:  5858
Level:     Error
Id = {guid}; ClientMachine = <computer>; User = <user>; ClientProcessId = <process ID>; Component = Unknown; Operation = Start IWbemServices::ExecQuery - <WMI namespace>: <Select Query Statement>; ResultCode = 0x80041032; PossibleCause = Unknown
where 0x80041032 indicates WBEM_E_CALL_CANCELLED.

Nota:

Este evento puede producirse con muchos valores ResultCode diferentes. El problema descrito en este artículo solo se aplica cuando ResultCode = 0x80041032 (WBEM_E_CALL_CANCELLED).

Causa

El error WMI-Activity 5858 con ResultCode = 0x80041032 (WBEM_E_CALL_CANCELLED) indica que el llamador de WMI ha emitido IWbemServices:ExecQuerycorrectamente , pero ha liberado el IWbemContext objeto antes de recuperar el conjunto de resultados completo mediante el IEnumWbemClassObject::Next método . Si el servicio WMI sigue manteniendo datos para el cliente cuando el cliente finaliza el vínculo (liberando el IWbemContext objeto), este evento se registrará.

Este error puede producirse si la aplicación WMI llama IEnumWbemClassObject::Next a con un valor de tiempo de espera (lTimeout) que no es lo suficientemente largo como para recuperar el objeto que se consulta y no comprueba si hay un código de retorno de WBEM_S_TIMEDOUT (0x40004) para volver a emitir la solicitud.

Solución

La aplicación cliente WMI debe modificarse para emitir llamadas a para IEnumWbemClassObject::Next recuperar el conjunto de resultados completo, antes de liberar el objeto IWbemContext. Si no se reciben objetos, asegúrese de que el valor de tiempo de espera (lTimeout) sea mayor que 0 y que WBEM_S_TIMEDOUT (0x40004) no se devuelva.

Más información

Para más información, vea:

Recolección de datos

Si necesita ayuda del soporte técnico de Microsoft, le recomendamos que recopile la información siguiendo los pasos mencionados en Recopilación de información mediante el uso de TSS para cuestiones relacionadas con la experiencia del usuario.