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. |