Partager via


Gestion des erreurs dans MAPI

S’applique à : Outlook 2013 | Outlook 2016

Les valeurs de réussite, d’avertissement et d’erreur sont retournées à l’aide d’un nombre 32 bits appelé handle de résultat ou HRESULT. Un HRESULT n’est vraiment pas un handle à quoi que ce soit ; il s’agit simplement d’une valeur 32 bits avec plusieurs champs encodés dans la valeur. Un résultat zéro indique la réussite et un résultat différent de zéro indique l’échec.

MAPI sur les plateformes 32 bits fonctionne uniquement avec les valeurs HRESULT.

L’illustration suivante montre le format HRESULT pour les plateformes 32 bits.

Format HRESULT

Format HRESULT

Le bit d’ordre élevé dans HRESULT indique si la valeur de retour représente la réussite ou l’échec. Si elle est définie sur zéro, la valeur indique la réussite. Si la valeur est 1, cela indique un échec.

Les bits R, C, N et r sont réservés dans le HRESULT.

Le champ d’installation dans les deux versions indique la zone de responsabilité de l’erreur. Il existe plusieurs fonctionnalités, mais la grande majorité des erreurs MAPI utilisent FACILITY_ITF pour représenter les erreurs d’interface. Les fonctionnalités les plus courantes actuellement utilisées sont les suivantes : FACILITY_NULL, FACILITY_ITF, FACILITY_DISPATCH, FACILITY_RPC et FACILITY_STORAGE. Si de nouvelles installations sont nécessaires, Microsoft les alloue, car elles doivent être uniques. Le tableau suivant décrit les différents champs d’installation.

Facility Description
FACILITY_NULL
Pour les codes de status courants largement applicables, tels que S_OK ou E_OUTOF_MEMORY, la valeur est égale à zéro.
FACILITY_ITF
Pour la plupart des codes status retournés par les méthodes d’interface , la valeur est définie par l’interface. Autrement dit, deux valeurs HRESULT avec exactement la même valeur 32 bits retournée par deux interfaces différentes peuvent avoir des significations différentes.
FACILITY_DISPATCH
Pour les erreurs d’interface IDispatch de liaison tardive.
FACILITY_RPC
Par status codes retournés à partir d’appels de procédure distante.
FACILITY_STORAGE
Par status codes retournés par les appels de méthode IStorage ou IStream relatifs au stockage structuré. Les codes d’état avec des valeurs de code (16 bits inférieurs) dans la plage des codes d’erreur Windows (autrement dit, moins de 256) ont la même signification que les erreurs Windows correspondantes.

Le champ de code est un numéro unique qui est affecté pour représenter l’erreur ou l’avertissement.