Compartilhar via


Tratamento de erros no MAPI

Aplica-se a: Outlook 2013 | Outlook 2016

Os valores de sucesso, aviso e erro são retornados usando um número de 32 bits conhecido como identificador de resultado ou HRESULT. Um HRESULT realmente não é um identificador de nada; é apenas um valor de 32 bits com vários campos codificados no valor. Um resultado zero indica êxito e um resultado não zero indica falha.

O MAPI em plataformas de 32 bits funciona apenas com valores HRESULT.

A ilustração a seguir mostra o formato HRESULT para plataformas de 32 bits.

HRESULT format

Formato HRESULT

O bit de alta ordem no HRESULT indica se o valor retornado representa êxito ou falha. Se definido como zero, o valor indica êxito. Se definido como 1, ele indica falha.

Os bits R, C, N e r são reservados no HRESULT.

O campo de instalação em ambas as versões indica a área de responsabilidade pelo erro. Há várias instalações, mas a grande maioria dos erros mapi usa FACILITY_ITF para representar erros de interface. As instalações mais comuns usadas atualmente são: FACILITY_NULL, FACILITY_ITF, FACILITY_DISPATCH, FACILITY_RPC e FACILITY_STORAGE. Se novas instalações forem necessárias, a Microsoft as aloca porque elas precisam ser exclusivas. A tabela a seguir descreve os vários campos de instalação.

Facility Descrição
FACILITY_NULL
Para códigos de status comuns amplamente aplicáveis, como S_OK ou E_OUTOF_MEMORY; o valor é zero.
FACILITY_ITF
Para a maioria status códigos retornados de métodos de interface; o valor é definido pela interface. Ou seja, dois valores HRESULT com exatamente o mesmo valor de 32 bits retornado de duas interfaces diferentes podem ter significados diferentes.
FACILITY_DISPATCH
Para erros de interface IDispatch de associação tardia.
FACILITY_RPC
Para status códigos retornados de chamadas de procedimento remoto.
FACILITY_STORAGE
Para status códigos retornados de chamadas de método IStorage ou IStream relacionadas ao armazenamento estruturado. Códigos de status com valores de código (16 bits inferiores) no intervalo de códigos de erro do Windows (ou seja, menos de 256) têm o mesmo significado que os erros correspondentes do Windows.

O campo de código é um número exclusivo atribuído para representar o erro ou o aviso.