Freigeben über


Hierarchietabellen

Gilt für: Outlook 2013 | Outlook 2016

Eine Hierarchietabelle enthält Informationen zu den Ordnern in einem Nachrichtenspeicher oder zu den Containern in einem Adressbuchcontainer. Jede Zeile einer Hierarchietabelle enthält einen Satz von Spalten mit Informationen zu einem Ordner oder Adressbuchcontainer. Hierarchietabellen werden hauptsächlich von Clients verwendet und von Nachrichtenspeicheranbietern implementiert, um eine Struktur von Ordnern und Unterordnern anzuzeigen, und von Adressbuchanbietern implementiert, um eine Struktur von Containern im Adressbuch anzuzeigen. Container, die keine Untercontainer enthalten können, wie durch das Fehlen des AB_SUBCONTAINERS-Flags in ihrer PR_CONTAINER_FLAGS-Eigenschaft (PidTagContainerFlags) angegeben, implementieren keine Hierarchietabelle.

Auf eine Hierarchietabelle kann zugegriffen werden, indem Folgendes aufgerufen wird:

Container und Ordner müssen beide Techniken zum Abrufen von Tabelleneigenschaften unterstützen. Es ist nicht akzeptabel, dass Dienstanbieter nur eine Möglichkeit für den Zugriff auf diese Tabellen unterstützen, da Clients erwarten, dass sie die Wahl haben.

Wichtig

Es ist nicht garantiert, dass Speicheranbieter den für Hierarchietabellen angegebenen Sortierreihenfolgesatz berücksichtigen.

Der Aufruf von IMAPIProp::OpenProperty umfasst den Zugriff auf die Hierarchietabelle durch Öffnen der entsprechenden Eigenschaft , PR_CONTAINER_HIERARCHY. Obwohl PR_CONTAINER_HIERARCHY nicht über die IMAPIProp::GetProps-Methode eines Ordners oder Containers abgerufen werden können, ist sie im Eigenschaftentagarray enthalten, das von der IMAPIPropProp::GetPropList-Methode zurückgegeben wird.

PR_CONTAINER_HIERARCHY können auch verwendet werden, um eine Hierarchietabelle in einen Kopiervorgang ein- oder auszuschließen. Wenn ein Client PR_CONTAINER_HIERARCHY im lpExcludeProps-Parameter für IMAPIProp::CopyTo in einem Kopiervorgang angibt, unterstützt der neue Ordner oder Container die Hierarchietabelle des ursprünglichen Ordners oder Containers nicht.

Die folgenden Eigenschaften bilden den erforderlichen Spaltensatz in einer Hierarchietabelle:

Wert
PR_COMMENT (PidTagComment)
PR_DEPTH (PidTagDepth)
PR_DISPLAY_NAME (PidTagDisplayName)
PR_DISPLAY_TYPE (PidTagDisplayType)
PR_ENTRYID (PidTagEntryId)
PR_INSTANCE_KEY (PidTagInstanceKey)
PR_OBJECT_TYPE (PidTagObjectType)
PR_STATUS (PidTagStatus)

PR_DISPLAY_NAME enthält den Namen für den Container oder Ordner, der in der Anzeige der Hierarchie angezeigt werden soll.

PR_ENTRYID ist der Eintragsbezeichner, der diesem Container oder Ordner zugeordnet ist. Es wird erwartet, dass es sich um einen langfristigen Eintragsbezeichner handelt. Clients und MAPI können diesen Eintragsbezeichner an OpenEntry übergeben, um den Container oder Ordner zu öffnen und seinen Inhalt anzuzeigen, indem SIE IMAPIContainer::GetContentsTable aufrufen.

PR_DEPTH ist ein numerischer Wert, der die Ebene des Einzugs für diesen Container oder Ordner angibt, wobei null die oberste Ebene ist. Je tiefer sich ein Container oder Ordner in der Hierarchie befindet, desto höher ist der Wert für seine PR_DEPTH-Eigenschaft . Clients verwenden die eigenschaft PR_DEPTH , um eine Hierarchietabelle entsprechend anzuzeigen, sodass Benutzer über- und untergeordnete Beziehungen deutlich sehen können. Die Container- oder Ordnertiefe ist immer relativ zum Container oder Ordner, der die Hierarchietabelle implementiert.

PR_OBJECT_TYPE ist für Adressbuchhierarchietabellen immer auf MAPI_ABCONT und für Ordnerhierarchietabellen MAPI_FOLDER festgelegt.

PR_DISPLAY_TYPE ist ein numerischer Wert, der sich darauf bezieht, wie ein Container oder Ordner in der Hierarchietabelle angezeigt wird. Es wird hauptsächlich für Anzeigezwecke verwendet, um visuell zwischen Container- oder Ordnertypen zu unterscheiden. Viele Nachrichtenspeicher- und Adressbuchanbieter verwenden Symbole für die verschiedenen Anzeigetypen. Es liegt an dem Anbieter, diese Symbole zur Verfügung zu stellen; MAPI stellt keine Standardwerte zur Verfügung.

MAPI definiert viele Werte für PR_DISPLAY_TYPE, einige für Ordner gültig und andere, die mit den Hierarchietabellen von Adressbuchcontainern verwendet werden. In der Regel wird die PR_DISPLAY_TYPE eines Ordners auf DT_FOLDER festgelegt, um ein Standardordnersymbol anzugeben, DT_FOLDER_LINK ein Symbol, das einen Link zu einem anderen Ordner darstellt, oder DT_FOLDER_SPECIAL, um ein anwendungsspezifisches Symbol anzugeben. DT_FOLDER_LINK wird mit Suchergebnisordnern verwendet.

Zusätzlich zu diesen erforderlichen Spalten müssen Adressbuchhierarchietabellen die eigenschaft PR_CONTAINER_FLAGS enthalten. PR_CONTAINER_FLAGS gibt verschiedene Attribute für einen Container in der Hierarchie an und wird verwendet, um einen Container von einem anderen zu unterscheiden.

Eine optionale Eigenschaft für Adressbuchhierarchietabellen ist die eigenschaft PR_AB_PROVIDER_ID (PidTagAbProviderId).

Nachrichtenspeicherhierarchietabellen enthalten die folgenden Eigenschaften in ihrem erforderlichen Spaltensatz:

Adressbuchanbieter müssen die folgenden IMAPITable-Methoden in ihren Hierarchietabellenimplementierungen unterstützen, da sie für das mapI-integrierte Adressbuch erforderlich sind:

Methode Methode
IMAPITable::QueryColumns
IMAPITable::QueryPosition
IMAPITable::SeekRow
IMAPITable::SeekRowApprox
IMAPITable::FindRow
IMAPITable::Restrict
IMAPITable::CreateBookmark
IMAPITable::FreeBookmark
IMAPITable::QueryRows

Siehe auch

MAPI-Tabellen