Partager via


IMAPIContainer::GetHierarchyTable

S’applique à : Outlook 2013 | Outlook 2016

Retourne un pointeur vers la table de hiérarchie du conteneur.

HRESULT GetHierarchyTable(
  ULONG ulFlags,
  LPMAPITABLE FAR * lppTable
);

Paramètres

ulFlags

[in] Masque de bits d’indicateurs qui contrôle la façon dont les informations sont retournées dans la table. Les indicateurs suivants peuvent être définis :

CONVENIENT_DEPTH

Remplit la table de hiérarchie avec des conteneurs de plusieurs niveaux. Si CONVENIENT_DEPTH n’est pas défini, la table de hiérarchie contient uniquement les conteneurs enfants immédiats du conteneur.

MAPI_DEFERRED_ERRORS

GetHierarchyTable peut retourner avec succès, éventuellement avant que la table ne soit mise à la disposition de l’appelant. Si la table n’est pas disponible, l’appel de table suivant peut générer une erreur.

MAPI_UNICODE

Demande que les colonnes qui contiennent des données de chaîne soient retournées au format Unicode. Si l’indicateur MAPI_UNICODE n’est pas défini, les chaînes doivent être retournées au format ANSI.

SHOW_SOFT_DELETES

Affiche les éléments actuellement marqués comme supprimés de manière réversible, c’est-à-dire qu’ils sont dans la phase de temps de conservation des éléments supprimés.

lppTable

[out] Pointeur vers un pointeur vers la table de hiérarchie.

Valeur renvoyée

S_OK

La table de hiérarchie a été récupérée avec succès.

MAPI_E_BAD_CHARWIDTH

Soit l’indicateur MAPI_UNICODE a été défini et l’implémentation ne prend pas en charge Unicode, soit MAPI_UNICODE n’a pas été défini et l’implémentation prend uniquement en charge Unicode.

MAPI_E_NO_SUPPORT

Le conteneur n’a pas de conteneurs enfants et ne peut pas fournir de table de hiérarchie.

Remarques

La méthode IMAPIContainer ::GetHierarchyTable retourne un pointeur vers la table de hiérarchie d’un conteneur. Une table de hiérarchie contient des informations récapitulatives sur les conteneurs enfants dans le conteneur. Les tables de hiérarchie de dossiers contiennent des informations sur les sous-dossiers ; Les tables de hiérarchie de carnets d’adresses contiennent des informations sur les conteneurs de carnets d’adresses enfants et les listes de distribution.

Il est possible que certains conteneurs n’aient pas de conteneurs enfants. Ces conteneurs retournent MAPI_E_NO_SUPPORT à partir de leurs implémentations de GetHierarchyTable.

Lorsque l’indicateur CONVENIENT_DEPTH est défini, chaque ligne de la table de hiérarchie inclut également la propriété PR_DEPTH (PidTagDepth) en tant que colonne. PR_DEPTH indique le niveau de chaque conteneur par rapport au conteneur qui implémente la table. Les conteneurs enfants immédiats du conteneur d’implémentation sont à la profondeur zéro, les conteneurs enfants dans les conteneurs de profondeur zéro sont à la profondeur 1, et ainsi de suite. Les valeurs de PR_DEPTH augmentent séquentiellement à mesure que la hiérarchie des niveaux s’approfondit.

Pour obtenir la liste complète des colonnes obligatoires et facultatives dans les tables de hiérarchie, consultez Tables de hiérarchie.

Remarques pour les responsables de l’implémentation

Si vous prenez en charge une table de hiérarchie pour votre conteneur, vous devez également effectuer les opérations suivantes :

Remarques pour les appelants

Les colonnes de table string et binary contents peuvent être tronquées. En règle générale, les fournisseurs retournent 255 caractères. Étant donné que vous ne pouvez pas savoir à l’avance si une table inclut des colonnes tronquées, supposons qu’une colonne soit tronquée si la longueur de la colonne est de 255 ou 510 octets. Vous pouvez toujours récupérer la valeur complète d’une colonne tronquée, si nécessaire, directement à partir de l’objet en utilisant son identificateur d’entrée pour l’ouvrir, puis en appelant la méthode IMAPIProp ::GetProps .

Selon l’implémentation du fournisseur, les restrictions et les opérations de tri peuvent s’appliquer à la chaîne entière ou à la version tronquée de cette chaîne. En outre, il n’est pas garanti que les fournisseurs de magasin respectent le jeu d’ordre de tri SSortOrderSet spécifié pour les tables de hiérarchie.

Référence MFCMAPI

Pour voir un exemple de code MFCMAPI, consultez le tableau suivant.

Fichier Fonction Commentaire
HierarchyTableTreeCtrl.cpp
CHierarchyTableTreeCtrl ::GetHierarchyTable
La classe CHierarchyTableTreeCtrl utilise GetHierarchyTable pour obtenir des tables de hiérarchie à afficher dans un contrôle d’arborescence.

Voir aussi

IMAPIProp::GetPropList

IMAPIProp::GetProps

IMAPITable : IUnknown

Propriété canonique PidTagContainerHierarchy

IMAPIContainer : IMAPIProp

MFCMAPI comme un exemple de Code