Identificateurs d’entrée ponctuelle
S’applique à : Outlook 2013 | Outlook 2016
Les identificateurs d’entrée unique sont créés par MAPI dans la méthode IAddrBook ::CreateOneOff et par les composants qui n’ont pas accès au sous-système MAPI, tels que les composants de passerelle. For more information, see IAddrBook::CreateOneOff. L’illustration suivante montre le format d’un identificateur d’entrée unique.
Format d’identificateur d’entrée unique
Le premier champ est une structure MAPIUID spéciale qui identifie l’identificateur d’entrée comme représentant un destinataire personnalisé. Cette structure MAPIUID doit être définie sur la constante MAPI_ONE_OFF_UID. MAPI_ONE_OFF_UID est défini dans le fichier d’en-tête MAPIDEFS.H.
Les champs version et indicateurs sont des mots 16 bits dans l’ordre d’octets Intel. Le champ version doit être défini sur zéro. Le champ Flags peut être défini sur les valeurs suivantes :
MAPI_ONE_OFF_NO_RICH_INFO
MAPI_ONE_OFF_UNICODE
L’indicateur MAPI_ONE_OFF_NO_RICH_INFO est défini si un destinataire ne doit pas recevoir de contenu de message au format TNEF (Transport Neutral Encapsulation Format). Cet indicateur est défini lorsque MAPI_SEND_NO_RICH_INFO est passé à la méthode IAddrBook ::CreateOneOff .
L’indicateur MAPI_ONE_OFF_UNICODE est défini si le nom d’affichage et l’adresse e-mail sont des chaînes Unicode. Cet indicateur est défini lorsque le MAPI_UNICODE est passé à IAddrBook ::CreateOneOff. Lorsque l’indicateur de MAPI_UNICODE n’est pas passé à CreateOneOff, MAPI suppose que le nom d’affichage et les chaînes d’adresse e-mail se trouvent dans le jeu de caractères ANSI actuel de la station de travail. Les chaînes ANSI ne fonctionnent généralement pas correctement dans les messages envoyés entre les plateformes à l’aide de jeux de caractères différents, car la page de codes n’est pas encodée dans l’identificateur d’entrée. Pour vous protéger contre cette incompatibilité potentielle, de nombreux types d’adresses sont limités aux caractères communs à plusieurs jeux de caractères. Toutefois, pour garantir la compatibilité des ensembles de caractères et de la plateforme, les clients doivent utiliser Unicode pour les chaînes de caractères dans leurs messages.
Le nom d’affichage est une chaîne terminée par null qui correspond à la propriété PR_DISPLAY_NAME (PidTagDisplayName) du destinataire et au paramètre lpszName passé à IAddrBook ::CreateOneOff. Le jeu de caractères est Unicode si l’indicateur MAPI_ONE_OFF_UNICODE est défini et ANSI s’il est clair.
Le type d’adresse est une chaîne terminée par null qui correspond à la propriété PR_ADDRTYPE (PidTagAddressType) du destinataire et au paramètre lpszAdrType passé à IAddrBook ::CreateOneOff.
L’adresse e-mail est une chaîne terminée par null qui correspond à la propriété PR_EMAIL_ADDRESS (PidTagEmailAddress) du destinataire et au paramètre lpszAddress passé à IAddrBook ::CreateOneOff.
Remarque
Il n’y a pas de remplissage dans les structures d’identificateur d’entrée unique ; Les octets sont emballés exactement comme indiqué ci-dessus et la longueur de l’identificateur d’entrée ne doit pas inclure d’octets au-delà du caractère null de fin de l’adresse e-mail.
Les clients et les fournisseurs de carnets d’adresses qui construisent manuellement des identificateurs d’entrée unique peuvent également avoir besoin de générer des valeurs pour les propriétés PR_RECORD_KEY (PidTagRecordKey) et PR_SEARCH_KEY (PidTagSearchKey). La clé d’enregistrement est identique à l’identificateur d’entrée. La clé de recherche doit être formée en concaténant les champs suivants dans l’ordre suivant :
Type d’adresse, converti en caractères majuscules.
Deux-points (:).
Adresse e-mail, convertie en majuscules.
Caractère null de fin.
Aucune conversion de jeu de caractères ne doit être effectuée lors de la génération de la clé de recherche.