Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A ilustração a seguir mostra o formato de um HRESULT (ou SCODE); Os números indicam as posições de bits:
O bit de ordem alta no HRESULT ou SCODE indica se o valor de retorno representa sucesso ou falha. Se definido como 0, SEVERITY_SUCCESS, o valor indica sucesso. Se definido como 1, SEVERITY_ERROR, indica falha.
Os bits R, C, N e R são reservados.
O campo de recurso indica o serviço do sistema responsável pelo erro. A Microsoft aloca novos códigos de recurso à medida que se tornam necessários. A maioria dos valores SCODEs e HRESULT define o campo de recurso como FACILITY_ITF, indicando um erro de método de interface.
Os campos de recursos comuns são descritos na tabela a seguir.
| Campo de Instalações | Valor | Descrição |
|---|---|---|
| ENVIO_DE_INSTALAÇÃO |
2 |
Para erros de interface em ligações tardias IDispatch. |
| FACILITY_ITF |
4 |
Para a maioria dos códigos de status retornados a partir de métodos de interface. O significado real do erro é definido pela interface. Ou seja, dois HRESULTs com exatamente o mesmo valor de 32 bits retornado de duas interfaces diferentes podem ter significados diferentes. |
| FACILITY_NULL |
0 |
Para códigos de status comuns de aplicação geral, como S_OK. |
| FACILITY_RPC |
1 |
Para códigos de status retornados de chamadas de procedimento remoto. |
| ARMAZENAMENTO_DE_INSTALAÇÕES |
3 |
Para códigos de status retornados de IStorage ou IStream nas chamadas de método relacionadas com o armazenamento estruturado. Os códigos de status cujo valor de código (inferior a 16 bits) está no intervalo de MS-DOS códigos de erro (ou seja, menos de 256) têm o mesmo significado que o erro de MS-DOS correspondente. |
| FACILITY_WIN32 |
7 |
Usado para fornecer um meio de manipular códigos de erro de funções na API do Windows como um HRESULT. Os códigos de erro no OLE de 16 bits que duplicaram os códigos de erro do sistema também foram alterados para FACILITY_WIN32. |
| FACILITY_WINDOWS |
8 |
Usado para códigos de erro adicionais de interfaces definidas pela Microsoft. |
O campo de código é um número exclusivo atribuído para representar o erro ou aviso.
Por convenção, valores de HRESULT geralmente têm nomes no seguinte formato: Facility_Severity_Reason.
Instalação é o nome da instalação ou algum outro identificador distintivo; Gravidade é uma única letra, S ou E, que indica se a chamada de função teve êxito (S) ou produziu um erro (E); e Motivo é um identificador que descreve o significado do código. Por exemplo, o código de status STG_E_FILENOTFOUND indica que ocorreu um erro relacionado ao armazenamento; especificamente, um arquivo solicitado não existe. Os códigos de status de FACILITY_NULL omitem o prefixo Facility_.
Os códigos de erro são definidos dentro do contexto de uma implementação de interface. Uma vez definidos, os códigos de sucesso não podem ser alterados ou novos códigos de sucesso adicionados. No entanto, novos códigos de falha podem ser gravados. A Microsoft reserva-se o direito de definir novos códigos de falha (mas não códigos de sucesso) para as interfaces descritas em FACILITY_ITF ou em novos recursos.