Tratamento de erro em COM (COM)

Quase todas as funções COM e métodos de interface retornam um valor do tipo HRESULT. O HRESULT (o nome pode ser lido como "identificador de resultado") é uma maneira de retornar um valor de sucesso, aviso ou erro. Um HRESULT na verdade não é um identificador (veja Por que HRESULT começa com H quando não é um identificador para nada?), é apenas um valor com vários campos codificados nele. De acordo com a especificação COM, um resultado de zero indica sucesso e um resultado diferente de zero indica falha.

No nível do código-fonte, todos os valores de erro consistem em três partes, separadas por sublinhados. A primeira parte é o prefixo que identifica o recurso associado ao erro, a segunda parte é E para erro e a terceira parte é uma cadeia de caracteres que descreve a condição real. Por exemplo, STG_E_MEDIUMFULL é retornado quando não há espaço restante em um disco rígido. O prefixo STG indica o recurso de armazenamento, o E indica que o código de status representa um erro e o MEDIUMFULL fornece informações específicas sobre o erro. Muitos dos valores que você pode querer retornar de um método de interface ou função são definidos em Winerror.h.

Para obter mais informações sobre tratamento de erros, consulte as seguintes seções:

Códigos de Erro do COM