Atualização de dispositivo para códigos de erro do Hub IoT
Este documento fornece uma tabela de códigos de erro para vários componentes de atualização de dispositivo.
Há dois componentes principais do lado do cliente que podem gerar códigos de erro: o agente de Atualização de Dispositivo e o agente de Otimização de Entrega. Os códigos de erro também vêm do serviço de conteúdo de Atualização de Dispositivo.
Agente de atualização de dispositivo
ResultCode e ExtendedResultCode
A Atualização de Dispositivo para a interface PnP Principal do Hub IoT relata ResultCode
e ExtendedResultCode
, que podem ser usados para diagnosticar falhas. Para obter mais informações sobre a interface PnP principal de atualização de dispositivo, consulte Atualização de dispositivo e Plug and Play. Para obter mais detalhes sobre os significados padrão do agente de Atualização de Dispositivo ResultCode e ExtendedResultCodes, consulte o repositório GitHub de Atualização de Dispositivo.
ResultCode
é um código de status geral e ExtendedResultCode
é um inteiro com informações de erro codificadas.
O ExtendedResultCode
aparece como um inteiro assinado na interface PnP. Para decodificar o , converta o inteiro assinado em hexagonal não assinado ExtendedResultCode
. Apenas os primeiros 4 bytes do ExtendedResultCode
são usados e são da forma FFFFFFF
F
onde o primeiro nibble é o Facility Code e o resto dos bits são o Error Code.
Códigos de instalação
Código do recurso | Description |
---|---|
D | Erro gerado a partir do SDK do |
E | O código de erro é um erro |
Por exemplo:
ExtendedResultCode
é -536870781
A representação hexadecimal não assinada de -536870781
é FFFFFFFF E0000083
.
Ignorar | Código do recurso | Código de Erro |
---|---|---|
FFFFFFFF | E | 0000083 |
0x83
em hexadecimal está 131
em decimal, que é o valor errno para ENOLCK
.
Agente de otimização de entrega
A tabela a seguir lista os códigos de erro pertencentes ao componente Otimização de Entrega (DO) do cliente de Atualização de Dispositivo. O componente DO é responsável por baixar o conteúdo de atualização para o dispositivo IoT.
O código de erro DO pode ser obtido examinando as exceções lançadas em resposta a uma chamada de API. Todos os códigos de erro DO podem ser identificados pelo prefixo 0x80D0.
Código de Erro | Erro de cadeia de caracteres | Tipo | Description |
---|---|---|---|
0x80D01001L | DO_E_NO_SERVICE | n/d | A Otimização da Entrega não conseguiu fornecer o serviço |
0x80D02002L | DO_E_DOWNLOAD_NO_PROGRESS | Download de Emprego | O download de um arquivo não registrou nenhum progresso dentro do período definido |
0x80D02011L | DO_E_UNKNOWN_PROPERTY_ID | Download de Emprego | SetProperty() ou GetProperty() chamado com um ID de propriedade desconhecido |
0x80D02012L | DO_E_READ_ONLY_PROPERTY | Download de Emprego | Não é possível chamar SetProperty() em uma propriedade somente leitura |
0x80D02013L | DO_E_INVALID_STATE | Download de Emprego | A ação solicitada não é permitida no estado atual do trabalho. O trabalho pode ter sido cancelado ou concluído a transferência. Ele está em um estado somente leitura agora. |
0x80D02018L | DO_E_FILE_DOWNLOADSINK_UNSPECIFIED | Download de Emprego | Não é possível iniciar um download porque nenhum coletor de download (arquivo local ou interface de fluxo) foi especificado |
0x80D02200L | DO_E_DOWNLOAD_NO_URI | IDODownload Interface | O download foi iniciado sem fornecer um URI |
0x80D03805L | DO_E_BLOCKED_BY_NO_NETWORK | Condições transitórias | Download pausado devido à perda de conectividade de rede |
0 00 00000 Total 4 bytes (32 bits)
- -- -----
| | |
| | |
| | +--------- Error code (20 bits)
| |
| +------------- Component/Area code (8 bits)
|
+--------------- Facility code (4 bits)
Para obter mais informações sobre como analisar códigos, consulte Códigos de resultado do Device Update Agent e códigos de resultado estendidos ou implementar um manipulador de conteúdo personalizado.
Serviço de conteúdo de Atualização de Dispositivo
A tabela a seguir lista os códigos de erro pertencentes ao componente de serviço de conteúdo do serviço de Atualização de Dispositivo. O componente de serviço de conteúdo é responsável pela importação de conteúdo de atualização. Mais informações de solução de problemas também estão disponíveis para importar atualizações de proxy.
Código de erro | Erro de cadeia de caracteres | Próximos passos |
---|---|---|
UpdateJáExiste | A atualização com a mesma identidade já existe. | Certifique-se de que está a importar uma atualização que ainda não tenha sido importada para esta instância da Atualização de Dispositivo para o Hub IoT. |
DuplicateContentImport | Conteúdo idêntico importado simultaneamente várias vezes. | Certifique-se de que está a importar uma atualização que ainda não tenha sido importada para esta instância da Atualização de Dispositivo para o Hub IoT. |
CannotProcessImportManifest | Erro ao processar manifesto de importação. | Consulte os conceitos de importação e a documentação de atualização de importação para obter a formatação adequada do manifesto de importação. |
CannotDownload | Não é possível baixar o manifesto de importação. | Verifique se a URL do arquivo de manifesto de importação ainda é válida. |
CannotParse | Não é possível analisar manifesto de importação. | Verifique a precisão do manifesto de importação em relação ao esquema definido na documentação de atualização de importação. |
Versão não suportada | Não há suporte para a versão do esquema de manifesto de importação. | Verifique se o manifesto de importação está usando o esquema mais recente definido na documentação de atualização de importação. |
Erro ao importar atualização devido ao limite excedido. | Não é possível importar provedor de atualização adicional. | Você atingiu um limite no número de provedores diferentes permitidos em sua instância de Atualização de Dispositivo para o Hub IoT. Exclua algumas atualizações da instância e tente novamente. |
Erro ao importar atualização devido ao limite excedido. | Não é possível importar nome de atualização adicional para o provedor especificado. | Você atingiu um limite no número de nomes diferentes permitidos em um provedor em sua instância de Atualização de Dispositivo para Hub IoT. Exclua algumas atualizações da instância e tente novamente. |
Erro ao importar atualização devido ao limite excedido. | Não é possível importar a versão de atualização adicional para o provedor e o nome especificados. | Você atingiu um limite no número de versões diferentes permitidas em um provedor e nome em sua instância de Atualização de Dispositivo para Hub IoT. Exclua algumas atualizações com esse nome da sua instância e tente novamente. |
Erro ao importar atualização devido ao limite excedido. | Não é possível importar provedor de atualização adicional com a compatibilidade especificada. or Não é possível importar nome de atualização adicional com a compatibilidade especificada. or Não é possível importar a versão de atualização adicional com a compatibilidade especificada. |
Ao definir propriedades de compatibilidade em um manifesto de importação, lembre-se de que a Atualização de Dispositivo para o Hub IoT oferece suporte a um único provedor e combinação de nomes para um determinado conjunto de propriedades de compatibilidade. Se você tentar usar as mesmas propriedades de compatibilidade com mais de uma combinação de provedor/nome, verá esses erros. Para resolver esse problema, certifique-se de que todas as atualizações para um determinado dispositivo (conforme definido pelas propriedades de compatibilidade) usam o mesmo provedor e nome. |
CannotProcessUpdateFile | Erro ao processar o arquivo de origem. | |
ContentFileCannotDownload | Não é possível baixar o arquivo de origem. | Verifique se o URL do(s) arquivo(s) de atualização ainda é válido. |
SourceFileMalwareDetected | Uma assinatura de malware conhecida foi detetada em um arquivo que está sendo importado. | A Atualização de Dispositivo para o Hub IoT verifica o conteúdo importado em busca de malware usando vários mecanismos diferentes. Se uma assinatura de malware conhecida for identificada, a importação falhará e uma mensagem de erro exclusiva será retornada. A mensagem de erro contém a descrição da assinatura de malware e um hash de arquivo para cada arquivo onde a assinatura foi detetada. Você pode usar o hash do arquivo para encontrar o arquivo exato que está sendo sinalizado e usar a descrição da assinatura de malware para verificar se há malware nesse arquivo. Depois de remover o malware de todos os arquivos que estão sendo importados, você pode iniciar o processo de importação novamente. |
SourceFilePendingMalwareAnalysis | Foi detetada uma assinatura num ficheiro que está a ser importado e que pode indicar a presença de malware. | A Atualização de Dispositivo para o Hub IoT verifica o conteúdo importado em busca de malware usando vários mecanismos diferentes. A importação falhará se uma assinatura de verificação tiver características de malware, mesmo que não haja uma correspondência exata com o malware conhecido. Quando isso ocorre, uma mensagem de erro exclusiva é retornada. A mensagem de erro contém a descrição da assinatura suspeita de malware e um hash de arquivo para cada arquivo onde a assinatura foi detetada. Você pode usar o hash do arquivo para encontrar o arquivo exato que está sendo sinalizado e usar a descrição da assinatura de malware para verificar se há malware nesse arquivo. Depois de remover o malware de todos os arquivos que estão sendo importados, você pode iniciar o processo de importação novamente. Se tiver a certeza de que os seus ficheiros estão livres de malware e continuar a ver este erro, utilize o processo Contactar o Suporte da Microsoft. |