Partilhar via


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.

Próximos passos

Solucionar problemas com a Atualização de Dispositivo