Partager via


HrValidateIPMSubtree

S’applique à : Outlook 2013 | Outlook 2016

Ajoute des dossiers de messages interpersonnels (IPM) standard à une banque de messages.

Propriété Valeur
Fichier d’en-tête : Mapiutil.h
Implémenté par : MAPI
Appelé par : Applications clientes
HrValidateIPMSubtree(
  LPMDB lpMDB,
  ULONG ulFlags,
  ULONG FAR * lpcValues,
  LPSPropValue FAR * lppProps,
  LPMAPIERROR FAR * lppMapiError
);

Paramètres

lpMDB

[in] Pointeur vers l’objet de la banque de messages auquel ajouter les dossiers.

ulFlags

[in] Masque de bits des indicateurs utilisés pour contrôler la façon dont les dossiers sont créés. Les indicateurs suivants peuvent être définis :

MAPI_FORCE_CREATE

Les dossiers doivent être vérifiés avant leur création, même si les propriétés de la banque de messages indiquent qu’ils sont valides. Une application cliente définit généralement cet indicateur lorsqu’une erreur indique que la structure d’un dossier existant a été endommagée.

MAPI_FULL_IPM_TREE

L’ensemble complet des dossiers IPM doit être créé dans le dossier racine de la banque de messages. Les titres des dossiers dans la hiérarchie sont les suivants :

  • Affichages de dossiers
  • Vues courantes
  • Racine de la recherche*
  • Sous-arborescence IPM*
  • Boîte de réception
  • Boîte d’envoi
  • Éléments supprimés*
  • Éléments envoyés

où les trois dossiers marqués avec * sont le jeu minimal créé même lorsque l’indicateur MAPI_FULL_IPM_TREE n’a pas été défini. Une application cliente définit généralement cet indicateur lorsque la banque de messages dans laquelle les dossiers doivent être créés est le magasin par défaut.

lpcValues

[in, out] Pointeur vers le nombre de structures SPropValue dans le tableau retourné dans le paramètre lppProps . La valeur du paramètre lpcValues peut être égale à zéro si lppProps a la valeur NULL.

lppProps

[in, out] Pointeur vers un tableau de structures SPropValue qui contient des valeurs de propriété pour la propriété PR_VALID_FOLDER_MASK (PidTagValidFolderMask) et pour les propriétés d’identificateur d’entrée de dossier appropriées. Si HrValidateIPMSubtree crée une boîte de réception dans la banque de messages, le tableau SPropValue inclut un identificateur d’entrée de boîte de réception avec une balise de propriété spéciale codée comme PROP_TAG(PT_BINARY, PROP_ID_NULL). Le paramètre lppProps peut être NULL, ce qui indique que l’implémentation appelante ne nécessite pas qu’un tableau SPropValue soit retourné.

lppMapiError

[out] Pointeur vers un pointeur vers une structure MAPIERROR qui contient des informations sur la version, le composant et le contexte d’une erreur. Le paramètre lppMAPIError est défini sur NULL si aucune structure MAPIERROR n’est retournée.

Valeur renvoyée

Aucun.

Remarques

MAPI utilise la fonction HrValidateIPMSubtree en interne pour construire la sous-arborescence IPM standard dans une banque de messages lorsque la banque est ouverte pour la première fois, ou lorsqu’une banque est définie comme magasin par défaut. Cette fonction peut également être utilisée par les applications clientes pour valider ou réparer les dossiers de messages standard.

HrValidateIPMSubtree crée toujours les dossiers Racine de recherche et Sous-arborescence IPM dans le dossier racine du magasin et le dossier Éléments supprimés dans le dossier Sous-arborescence IPM. Le dossier Sous-arborescence IPM est la racine de la hiérarchie IPM dans cette banque de messages. Le dossier Racine de recherche peut être utilisé comme racine d’une sous-arborescence pour les dossiers de résultats de recherche.

Les clients IPM doivent afficher leur affichage des dossiers en commençant par le dossier racine de la sous-arborescence IPM et en affichant les dossiers enfants en dessous. Les informations contenues dans le dossier racine d’une banque de messages ne doivent pas apparaître dans l’interface utilisateur d’un client. Cette fonctionnalité signifie que si un client doit masquer des informations, les informations peuvent être placées dans le répertoire racine de la sous-arborescence IPM, où elles ne sont pas visibles par l’utilisateur. En revanche, les applications non IPM qui nécessitent que les messages et les dossiers soient invisibles pour l’utilisateur, par exemple dans une banque de messages basée sur un serveur, peuvent les placer en dehors de la hiérarchie IPM.

HrValidateIPMSubtree définit la propriété PR_VALID_FOLDER_MASK pour indiquer si chaque dossier IPM qu’il crée a un identificateur d’entrée valide. Les propriétés suivantes de l’identificateur d’entrée de la banque de messages sont définies sur les identificateurs d’entrée des dossiers correspondants et retournées dans le paramètre lppProps avec PR_VALID_FOLDER_MASK :

PR_COMMON_VIEWS_ENTRYID (PidTagCommonViewsEntryId)

PR_FINDER_ENTRYID (PidTagFinderEntryId)

PR_IPM_OUTBOX_ENTRYID (PidTagIpmOutboxEntryId)

PR_IPM_SENTMAIL_ENTRYID (PidTagIpmSentMailEntryId)

PR_IPM_SUBTREE_ENTRYID (PidTagIpmSubtreeEntryId)

PR_IPM_WASTEBASKET_ENTRYID (PidTagIpmWastebasketEntryId)

PR_VIEWS_ENTRYID (PidTagViewsEntryId)

Espace réservé PROP_TAG pour la boîte de réception IPM (PT_BINARY, PROP_ID_NULL).

Référence MFCMAPI

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

Fichier Fonction Commentaire
MstStoreDlg.cpp CMsgStoreDlg ::OnValidateIPMSubtree MFCMAPI utilise la méthode HrValidateIPMSubtree pour ajouter des dossiers standard à une banque de messages.

Voir aussi

IMAPISession ::OpenMsgStoreMFCMAPI en tant qu’exemple de code