Comparteix a través de


Códigos de error de Device Update for IoT Hub

En este documento se proporciona una tabla de códigos de error para los distintos componentes de Device Update.

Hay dos componentes principales del lado cliente que pueden generar códigos de error: el agente de Device Update y el agente de Optimización de distribución. Los códigos de error también proceden del servicio de contenido de Device Update.

Agente de Device Update

ResultCode y ExtendedResultCode

Device Update para la interfaz PnP de IoT Hub Core genera ResultCode y ExtendedResultCode, que se pueden usar para diagnosticar errores. Para obtener más información sobre la interfaz PnP Device Update Core, consulte Device Update y Plug and Play. Para obtener más información sobre los significados predeterminados de ResultCode y ExtendedResultCodes del agente de Device Update, consulte el repositorio de GitHub de Device Update.

ResultCode es un código de estado general y ExtendedResultCode es un entero con información de error codificada.

ExtendedResultCode aparece como un entero con signo en la interfaz PnP. Para descodificar ExtendedResultCode, convierta el entero con signo en un valor hexadecimal sin signo. Solo se usan los primeros cuatro bytes de ExtendedResultCode y tienen el formato F FFFFFFF, donde el primer recorte es el código de la instalación y el resto de los bits son el código de error.

Códigos de instalación

Código de instalación Descripción
D Error que genera el SDK de DO
E El código de error es un valor errno.

Por ejemplo:

ExtendedResultCode es -536870781

La representación hexadecimal sin signo de -536870781 es FFFFFFFF E0000083.

Ignore Código de instalación Código de error
FFFFFFFF E 0000083

0x83 en hexadecimal es 131 en decimal, que es el valor errno de ENOLCK.

Agente de Optimización de distribución

En la tabla siguiente se enumeran los códigos de error relacionados con el componente de Optimización de distribución (DO) del cliente de Device Update. El componente DO es responsable de descargar el contenido de la actualización en el dispositivo IoT.

El código de error de DO se puede obtener mediante el examen de las excepciones que se producen en respuesta a una llamada a la API. Todos los códigos de error se pueden identificar mediante el prefijo 0x80D0.

Código de error Error de cadena Tipo Descripción
0x80D01001L OM_E_NO_SERVICE N/D El servicio Optimización de distribución no pudo proporcionar el servicio.
0x80D02002L DO_E_DOWNLOAD_NO_PROGRESS Trabajo de descarga La descarga de un archivo no ha observado ningún progreso dentro del período definido.
0x80D02011L DO_E_UNKNOWN_PROPERTY_ID Trabajo de descarga Se llamó a SetProperty() o GetProperty() con un identificador de propiedad desconocido.
0x80D02012L DO_E_READ_ONLY_PROPERTY Trabajo de descarga No se puede llamar a SetProperty() en una propiedad de solo lectura.
0x80D02013L DO_E_INVALID_STATE Trabajo de descarga La acción solicitada no se permite en el estado actual del trabajo. Es posible que el trabajo se haya cancelado o se haya completado la transferencia. Ahora se encuentra en estado de solo lectura.
0x80D02018L DO_E_FILE_DOWNLOADSINK_UNSPECIFIED Trabajo de descarga No se puede iniciar una descarga porque no se especificó ningún receptor de descarga (archivo local o interfaz de flujo).
0x80D02200L DO_E_DOWNLOAD_NO_URI Interfaz IDODownload La descarga se inició sin proporcionar ningún URI.
0x80D03805L DO_E_BLOCKED_BY_NO_NETWORK Condiciones transitorias Descarga se puso en pausa debido a la pérdida de conectividad de red.
   0 00 00000     Total 4 bytes (32 bits)
   - -- -----
   | |  |
   | |  |
   | |  +---------  Error code (20 bits)
   | |
   | +------------- Component/Area code (8 bits)
   |
   +--------------- Facility code (4 bits) 

Para obtener más información sobre el análisis de códigos, consulte los códigos de resultados y códigos de resultados extendidos de Device Update Agent o implemente un controlador de contenido personalizado.

Servicio de contenido de Device Update

En la tabla siguiente se enumeran los códigos de error relacionados con el componente de servicio de contenido del servicio Device Update. El componente de servicio de contenido es responsable de importar contenido de actualización. También hay disponible más información para la solución de problemas para importar actualizaciones de proxy.

Código de error Error de cadena Pasos siguientes
UpdateAlreadyExists Ya existe una actualización con la misma identidad. Asegúrese de que está importando una actualización que todavía no se ha importado en esta instancia de Device Update for IoT Hub.
DuplicateContentImport Se importó contenido idéntico simultáneamente varias veces. Asegúrese de que está importando una actualización que todavía no se ha importado en esta instancia de Device Update for IoT Hub.
CannotProcessImportManifest Error al procesar el manifiesto de importación. Consulte la documentación de conceptos de importación y actualización de la importación para obtener un formato de manifiesto de importación adecuado.
CannotDownload No se puede descargar el manifiesto de importación. Asegúrese de que la dirección URL del archivo de manifiesto de importación sigue siendo válida.
CannotParse No se puede analizar el manifiesto de importación. Compruebe la precisión del manifiesto de importación con el esquema definido en la documentación de actualización de la importación.
UnsupportedVersion No se admite la versión de esquema del manifiesto de importación. Asegúrese de que el manifiesto de importación usa el esquema más reciente definido en la documentación de actualización de la importación.
Error al importar la actualización debido a que se superó el límite. No se puede importar un proveedor de actualización adicional. Ha alcanzado un límite en el número de diferentes proveedores permitidos en la instancia de Device Update for IoT Hub. Elimine algunas actualizaciones de la instancia y vuelva a intentarlo.
Error al importar la actualización debido a que se superó el límite. No se puede importar un nombre de actualización adicional para el proveedor especificado. Ha alcanzado un límite en el número de diferentes nombres permitidos en un proveedor en la instancia de Device Update for IoT Hub. Elimine algunas actualizaciones de la instancia y vuelva a intentarlo.
Error al importar la actualización debido a que se superó el límite. No se puede importar una versión de actualización adicional para el proveedor y el nombre especificados. Ha alcanzado un límite en el número de diferentes versiones permitidas en un proveedor y un nombre en la instancia de Device Update for IoT Hub. Elimine algunas actualizaciones con ese nombre de la instancia y vuelva a intentarlo.
Error al importar la actualización debido a que se superó el límite. No se puede importar un proveedor de actualizaciones adicional con la compatibilidad especificada.

or

No se puede importar un nombre de actualización adicional con la compatibilidad especificada.

or

No se puede importar una versión de actualización adicional con la compatibilidad especificada.
Al definir las propiedades de compatibilidad en un manifiesto de importación, tenga en cuenta que Device Update for IoT Hub admite una combinación de nombre y proveedor única para un determinado conjunto de propiedades de compatibilidad. Si intenta utilizar las mismas propiedades de compatibilidad con más de una combinación de proveedor o nombre, verá estos errores. Para resolver este problema, asegúrese de que todas las actualizaciones de un dispositivo determinado (según la definición de las propiedades de compatibilidad) usen el mismo proveedor y el mismo nombre.
CannotProcessUpdateFile Error al procesar el archivo de código fuente.
ContentFileCannotDownload No se puede descargar el archivo de origen. Asegúrese de que la dirección URL de los archivos de actualización sigue siendo válida.
SourceFileMalwareDetected Se detectó una firma de malware conocida en un archivo que se va a importar. Device Update for IoT Hub examina el contenido importado en busca de malware mediante varios mecanismos diferentes. Si se identifica una firma de malware conocida, se produce un error en la importación y se devuelve un mensaje de error único. El mensaje de error contiene la descripción de la firma de malware y un hash de archivo para cada archivo donde se detectó la firma. Puede usar el hash de archivo para buscar el archivo exacto que se está marcando y usar la descripción de la firma de malware para comprobar si hay malware en ese archivo.

Una vez que haya quitado el malware de los archivos que se están importando, puede volver a iniciar el proceso de importación.
SourceFilePendingMalwareAnalysis Se detectó una firma en un archivo importado que puede indicar que hay malware. Device Update for IoT Hub examina el contenido importado en busca de malware mediante varios mecanismos diferentes. Se produce un error en la importación si la firma de un examen tiene características de malware, incluso si no hay una coincidencia exacta con el malware conocido. Cuando esto ocurre, se devuelve un mensaje de error único. El mensaje de error contiene la descripción de la firma de malware sospechosa y un hash de archivo para cada archivo donde se detectó la firma. Puede usar el hash de archivo para buscar el archivo exacto que se está marcando y usar la descripción de la firma de malware para comprobar si hay malware en ese archivo.

Una vez quitado el malware de los archivos que se están importando, puede volver a iniciar el proceso de importación. Si está seguro de que los archivos están libres de malware y sigue viendo este error, use el proceso Ponerse en contacto con Soporte técnico de Microsoft.

Pasos siguientes

Solución de problemas con Device Update