Flux de saisie semi-automatique
S’applique à: Outlook 2013 | Outlook 2016
Outre le fait de savoir comment Microsoft Outlook interagit avec le flux de saisie semi-automatique, vous devez également comprendre le format binaire du flux de saisie semi-automatique.
Le flux de saisie semi-automatique est un ensemble de lignes de propriété de destinataire qui sont enregistrés sous la forme d’un flux binaire avec certaines métadonnées comptables, utilisées uniquement par Microsoft Outlook 2013, Microsoft Outlook 2010, Microsoft Office Outlook 2007 et Microsoft Outlook 2003. Les métadonnées sont pertinentes pour les interactions Outlook avec le flux de saisie semi-automatique afin que les tiers conservent ce qui se trouve dans chaque bloc de métadonnées lorsqu’ils enregistrent un flux de saisie semi-automatique modifié. En d’autres termes, les tiers doivent modifier uniquement la partie de ligne la plus riche du format binaire et conserver ce qui était déjà dans les blocs de métadonnées du flux de saisie semi-automatique.
Visualisation de flux de données
La mise en page générale du flux de saisie semi-automatique est comme suit :
Métadonnées (4 octets)
Numéro de version majeure (4 octets)
Numéro de version mineure (4 octets)
Nombre n de lignes (4 octets)
Nombre de propriétés p dans la ligne une (4 octets)
Balise de propriété de la propriété 1 (4 octets)
Données réservées de la propriété 1 (4 octets)
Union de valeur de la propriété 1 (8 octets)
Données de valeur de la propriété 1 (0 octet ou octets variables)
… (propriété 2 via propriété P-1)
Balise de propriété de la propriété p (4 octets)
Données réservées de la propriété p (4 octets)
Union de valeur de la propriété p (8 octets)
Données de valeur de la propriété p (0 octet ou octets variables)
Nombre de propriétés q dans la ligne deux (4 octets)
… (propriétés de la ligne deux)
… (ligne 3 via ligne n-1)
Nombre de propriétés r dans la ligne n (4 octets)
… (propriétés de la ligne n)
Nombre d’octets des infos supplémentaires EI (4 octets)
Infos supplémentaires (octets EI)
Métadonnées (8 octets)
Pour un exemple de structure binaire, reportez-vous à la section Exemple binaire dans Consignes pour le développement et le format de fichier NK2 Outlook 2003/2007.
Mise en page générale
De manière générale, la mise en page du flux de saisie semi-automatique est comme suit :
Données de la valeur | Nombre d’octets |
---|---|
Métadonnées |
4 |
Numéro de version majeure |
4 |
Numéro de version mineure |
4 |
Ensemble de lignes |
Variable |
Nombre d’octets des infos supplémentaires EI |
4 |
Informations supplémentaires |
EI |
Métadonnées |
8 |
Lors de la lecture de ce flux, si la version majeure n’est pas la 12, alors ce flux de données ne doit pas être lu ou écrit. La version mineure actuelle du flux de saisie semi-automatique est la 0, pour laquelle le nombre d’octets d’informations supplémentaire est égal à 0. Si la version mineure est différente de 0, il y aura alors des informations supplémentaires qui doivent être lues lors de la lecture du flux de données et conservées lors de la rédaction du flux d’informations. La version mineure doit également être conservée lors de la rédaction du flux de données. Si ces deux éléments ne sont pas conservés, les instances d’Outlook écrites par les informations supplémentaires perdent des données.
Remarque
Les applications ne doivent pas ajouter de données personnalisées au champ Informations supplémentaires ni changer la version mineure, car cette fonctionnalité doit prendre en charge les extensions Outlook au format et non des extensions tiers arbitraires.
Disposition de jeu de lignes
La disposition de jeu de lignes est comme suit :
Données de la valeur | Nombre d’octets |
---|---|
Nombre de lignes |
4 |
Lignes |
Variable |
Le nombre de lignes identifie le nombre de lignes fournies dans la partie suivante de la séquence de flux binaire.
Disposition de ligne
Chaque ligne correspond au format suivant :
Données de la valeur | Nombre d’octets |
---|---|
Nombre de propriétés |
4 |
Propriétés |
Variable |
Le nombre de lignes identifie le nombre de propriétés fournies dans la partie suivante de la séquence de flux binaire.
Disposition de propriété
Chaque propriété correspond au format suivant :
Données de la valeur | Nombre d’octets |
---|---|
Balise de propriété |
4 |
Données réservées |
4 |
Union de valeur de la propriété |
|
Données de la valeur |
0 ou variable (en fonction de la balise de proposition) |
Interprétation de la valeur de propriété
L’union de valeur de propriété et les données de valeur doivent être interprétées en fonction de la balise de propriété dans les 4 octets du bloc de propriété. Cette balise de propriété a le même format qu’une balise de propriété MAPI. Les bits 0 à 15 de l’indicateur de propriété correspondent au type de propriété. Les bits 16 à 31 correspondent à l’identificateur de la propriété. Le type de propriété détermine comment le reste de la propriété doit être lu.
Valeur statique
Certaines propriétés ne possèdent aucune valeur de données et ont uniquement des données dans l’union. Les types de propriété suivants (qui proviennent de la balise de propriété) doivent interpréter les Union de données de propriété à 8 octets comme suit :
Type de proposition | Interprétation de l’union de propriété |
---|---|
PT_I2 |
short int |
PT_LONG |
long |
PT_ERROR |
long |
PT_R4 |
float |
PT_DOUBLE |
double |
PT_BOOLEAN |
short int |
PT_SYSTIME |
FILETIME |
PT_I8 |
LARGE_INTEGER |
Valeurs dynamiques
Les autres propriétés possèdent des données dans un bloc de données de la valeur après que les 16 premiers octets contiennent la balise de propriété, les données réservées et l’union de valeur de propriété. Contrairement aux valeurs statiques, les données stockées dans l’union de valeur de propriété de 8 octets ne sont pas pertinentes à la lecture. Lorsque vous rédigez, assurez-vous que vous complétez correctement ces 8 octets. Toutefois, le contenu des 8 octets n’est pas important. Dans les valeurs dynamiques, le type de la balise de propriété détermine la manière d’interpréter les données de valeur.
PT_STRING8
Données de la valeur | Nombre d’octets |
---|---|
Nombre d’octets n |
4 |
Les octets seront interprétés comme une chaîne ANSI (y compris terminateur NULL) |
n |
PT_CLSID
Données de la valeur | Nombre d’octets |
---|---|
Les octets seront interprétés comme un GUID |
16 |
PT_BINARY
Données de la valeur | Nombre d’octets |
---|---|
Nombre d’octets n |
4 |
Les octets seront interprétés comme une gamme d’octets |
n |
PT_MV_BINARY
Données de la valeur | Nombre d’octets |
---|---|
Nombre de matrices binaires X |
4 |
Une exécution d’octets contenant X matrices binaires. Chaque tableau doit être interprété exactement comme l’exécution d’octet PT_BINARY. | Variable |
PT_MV_STRING8 (Outlook 2007, Outlook 2010, et Outlook 2013)
Données de la valeur | Nombre d’octets |
---|---|
Nombre de chaînes ANSI X |
4 |
Une exécution d’octets contenant X chaînes ANSI. Chaque tableau doit être interprété exactement comme l’exécution d’octets PT_STRING8. | Variable |
PT_MV_UNICODE (Outlook 2007, Outlook 2010, Outlook 2013)
Données de la valeur | Nombre d’octets |
---|---|
Nombre de chaînes UNICODE X |
4 |
Une exécution d’octets contenant X chaînes UNICODE. Chaque tableau doit être interprété exactement comme l’exécution d’octets PT_UNICODE. | Variable |
Propriétés importantes
Comme mentionné précédemment dans cette rubrique, les blocs binaires qui représentent les propriétés possèdent des balises de propriété correspondant aux propriétés destinataires du carnet d’adresses. Pour les propriétés qui ne sont pas répertoriées ici, vous pouvez consulter la description de la propriété àhttps://msdn.microsoft.com/library/cc433490(EXCHG.80).aspx.
Nom de la propriété | Balise de propriété | Description (pour plus d’informations, consultez MSDN) |
---|---|---|
PR_NICK_NAME_W (non transmis aux destinataires, spécifiques uniquement aux flux de saisie semi-automatique) |
0x6001001f |
Cette propriété doit être la première dans chaque ligne du destinataire. Sur le plan opérationnel, elle correspond à un identificateur de clé pour la ligne du destinataire. |
PR_ENTRYID |
0x0FFF0102 |
L’identificateur d’entrée Carnet d’adresses du destinataire. |
PR_DISPLAY_NAME_W |
0x3001001F |
Le nom d’affichage du destinataire. |
PR_EMAIL_ADDRESS_W |
0x3003001F |
Adresse e-mail du destinataire (par exemple johndoe@contoso.com , ou /o=Contoso/OU=Foo/cn=Recipients/cn=johndoe) |
PR_ADDRTYPE_W |
0x3002001F |
Type d’adresse du destinataire (par exemple, SMTP ou EX). |
PR_SEARCH_KEY |
0x300B0102 |
Clé de recherche MAPI du destinataire. |
PR_SMTP_ADDRESS_W |
0x39FE001f |
Adresse SMTP du destinataire. |
PR_DROPDOWN_DISPLAY_NAME_W (non transmis aux destinataires, spécifiques uniquement aux flux de saisie semi-automatique) |
0X6003001f |
La chaîne d’affichage qui s’affiche dans la liste de saisie semi-automatique. |
PR_NICK_NAME_WEIGHT (non transmis aux destinataires, spécifiques uniquement aux flux de saisie semi-automatique) |
0x60040003 |
La pondération de cette entrée de saisie semi-automatique. La pondération est utilisée pour déterminer dans quel ordre les entrées de saisie semi-automatique se produisent lorsqu’elles correspondent à la liste de saisie semi-automatique. Les entrées ayant une pondération supérieure s’affichent avant les entrées ayant une pondération inférieure. La liste complète de saisie semi-automatique est triée par cette propriété. La pondération diminue régulièrement au fil du temps et augmente lorsque l’utilisateur envoie un message électronique à ce destinataire. Consultez la description plus loin dans cette rubrique pour plus d’informations sur cette propriété. |
PR_NICK_NAME_WEIGHT
L’ensemble de lignes dans le flux de saisie semi-automatique est trié dans l’ordre décroissant par la propriété PR_NICK_NAME_WEIGHT et le flux de saisie semi-automatique doit toujours conserver cette caractéristique triée. Par conséquent, les modifications apportées à la pondération de ligne doivent également assurer que la position de la ligne conserve l’ordre trié de l’ensemble complet de lignes. Les ajouts apportés à l’ensemble de ligne doivent être insérés à l’emplacement correct afin de conserver l’ordre trié.
La valeur minimale de cette pondération est 0 x 1 et la valeur maximale est LONG_MAX. Toutes les autres valeurs concernant la pondération sont considérées comme non valides.
Lorsqu’Outlook 2007 envoie un courrier ou résout un destinataire, il augmentera la pondération du destinataire par 0 x 2000.