Share via


HrValidateIPMSubtree

Gilt für: Outlook 2013 | Outlook 2016

Fügt einem Nachrichtenspeicher Standardordner für zwischenmenschliche Nachrichten (INTERPersonal Message, IPM) hinzu.

Eigenschaft Wert
Headerdatei Mapiutil.h
Implementiert von: MAPI
Aufgerufen von: Clientanwendungen
HrValidateIPMSubtree(
  LPMDB lpMDB,
  ULONG ulFlags,
  ULONG FAR * lpcValues,
  LPSPropValue FAR * lppProps,
  LPMAPIERROR FAR * lppMapiError
);

Parameter

lpMDB

[in] Zeiger auf das Nachrichtenspeicherobjekt, dem die Ordner hinzugefügt werden sollen.

ulFlags

[in] Bitmaske von Flags, die verwendet werden, um zu steuern, wie die Ordner erstellt werden. Die folgenden Flags können festgelegt werden:

MAPI_FORCE_CREATE

Die Ordner sollten vor der Erstellung überprüft werden, auch wenn die Nachrichtenspeichereigenschaften angeben, dass sie gültig sind. Eine Clientanwendung legt dieses Flag in der Regel fest, wenn ein Fehler darauf hinweist, dass die Struktur eines vorhandenen Ordners beschädigt wurde.

MAPI_FULL_IPM_TREE

Der vollständige Satz von IPM-Ordnern sollte im Stammordner des Nachrichtenspeichers erstellt werden. Die Ordnertitel in der Hierarchie sind:

  • Ordneransichten
  • Allgemeine Ansichten
  • Root durchsuchen*
  • IPM-Unterstruktur*
  • Posteingang
  • Postausgang
  • Gelöschte Elemente*
  • Gesendete Elemente

Dabei sind die drei mit * markierten Ordner der Mindestsatz, der auch dann erstellt wird, wenn das flag MAPI_FULL_IPM_TREE nicht festgelegt wurde. Eine Clientanwendung legt dieses Flag in der Regel fest, wenn der Nachrichtenspeicher, in dem die Ordner erstellt werden sollen, der Standardspeicher ist.

lpcValues

[in, out] Zeiger auf die Anzahl der SPropValue-Strukturen im Array, die im lppProps-Parameter zurückgegeben werden. Der Wert des lpcValues-Parameters kann null sein, wenn lppProps NULL ist.

lppProps

[in, out] Zeiger auf einen Zeiger auf ein Array von SPropValue-Strukturen , das Eigenschaftswerte für die eigenschaft PR_VALID_FOLDER_MASK (PidTagValidFolderMask) und für die entsprechenden Eigenschaften des Ordnereintragsbezeichners enthält. Wenn HrValidateIPMSubtree einen Posteingang im Nachrichtenspeicher erstellt, enthält das SPropValue-Array einen Posteingangseintragsbezeichner mit einem speziellen Eigenschaftstag, der als PROP_TAG(PT_BINARY, PROP_ID_NULL)codiert ist. Der lppProps-Parameter kann NULL sein, was angibt, dass die aufrufende Implementierung nicht erfordert, dass ein SPropValue-Array zurückgegeben werden muss.

lppMapiError

[out] Zeiger auf einen Zeiger auf eine MAPIERROR-Struktur , die Versions-, Komponenten- und Kontextinformationen für einen Fehler enthält. Der Parameter lppMAPIError wird auf NULL festgelegt, wenn keine MAPIERROR-Struktur zurückgegeben wird.

Rückgabewert

None.

Hinweise

MAPI verwendet die HrValidateIPMSubtree-Funktion intern, um die Standardmäßige IPM-Unterstruktur in einem Nachrichtenspeicher zu erstellen, wenn der Speicher zum ersten Mal geöffnet wird oder wenn ein Speicher zum Standardspeicher gemacht wird. Diese Funktion kann auch von Clientanwendungen verwendet werden, um Standardnachrichtenordner zu überprüfen oder zu reparieren.

HrValidateIPMSubtree erstellt immer die Ordner "Stamm durchsuchen" und "IPM-Unterstruktur" im Stammordner des Speichers und den Ordner "Gelöschte Elemente" im Ordner "IPM-Unterstruktur". Der IPM-Unterstrukturordner ist der Stamm der IPM-Hierarchie in diesem Nachrichtenspeicher. Der Suchstammordner kann als Stammverzeichnis einer Unterstruktur für Suchergebnisordner verwendet werden.

IPM-Clients sollten ihre Ordneransicht ab dem Stammordner der IPM-Unterstruktur und untergeordneten Ordnern darunter anzeigen. Informationen im Stammordner eines Nachrichtenspeichers sollten nicht auf der Benutzeroberfläche eines Clients angezeigt werden. Diese Funktionalität bedeutet, dass, wenn ein Client Informationen ausblenden muss, die Informationen in das Stammverzeichnis der IPM-Unterstruktur eingefügt werden können, wo sie für den Benutzer nicht sichtbar sind. Im Gegensatz dazu können Nicht-IPM-Anwendungen, bei denen Nachrichten und Ordner für den Benutzer unsichtbar sein müssen, z. B. in einem serverbasierten Nachrichtenspeicher, diese außerhalb der IPM-Hierarchie platzieren.

HrValidateIPMSubtree legt die PR_VALID_FOLDER_MASK-Eigenschaft fest, um anzugeben, ob jeder erstellte IPM-Ordner über einen gültigen Eintragsbezeichner verfügt. Die folgenden Eintragsbezeichnereigenschaften des Nachrichtenspeichers werden auf die Eintragsbezeichner der entsprechenden Ordner festgelegt und im lppProps-Parameter zusammen mit PR_VALID_FOLDER_MASK zurückgegeben:

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)

Ein Platzhalter PROP_TAG für den IPM-Posteingang (PT_BINARY, PROP_ID_NULL).

MFCMAPI-Referenz

Einen MFCMAP-Beispielcode finden Sie in der folgenden Tabelle.

Datei Funktion Kommentar
MstStoreDlg.cpp CMsgStoreDlg::OnValidateIPMSubtree MFCMAPI verwendet die HrValidateIPMSubtree-Methode , um einem Nachrichtenspeicher Standardordner hinzuzufügen.

Siehe auch

IMAPISession::OpenMsgStoreMFCMAPI als Codebeispiel