IMAPIContainer::GetHierarchyTable
Gilt für: Outlook 2013 | Outlook 2016
Gibt einen Zeiger auf die Hierarchietabelle des Containers zurück.
HRESULT GetHierarchyTable(
ULONG ulFlags,
LPMAPITABLE FAR * lppTable
);
Parameter
ulFlags
[in] Eine Bitmaske von Flags, die steuert, wie Informationen in der Tabelle zurückgegeben werden. Die folgenden Flags können festgelegt werden:
CONVENIENT_DEPTH
Füllt die Hierarchietabelle mit Containern aus mehreren Ebenen. Wenn CONVENIENT_DEPTH nicht festgelegt ist, enthält die Hierarchietabelle nur die unmittelbar untergeordneten Container des Containers.
MAPI_DEFERRED_ERRORS
GetHierarchyTable kann erfolgreich zurückgegeben werden, möglicherweise bevor die Tabelle für den Aufrufer verfügbar gemacht wird. Wenn die Tabelle nicht verfügbar ist, kann durch einen nachfolgenden Tabellenaufruf ein Fehler ausgelöst werden.
MAPI_UNICODE
Fordert an, dass die Spalten, die Zeichenfolgendaten enthalten, im Unicode-Format zurückgegeben werden. Wenn das MAPI_UNICODE-Flag nicht festgelegt ist, sollten die Zeichenfolgen im ANSI-Format zurückgegeben werden.
SHOW_SOFT_DELETES
Zeigt Elemente an, die derzeit als vorläufig gelöscht markiert sind, d. h., sie befinden sich in der Aufbewahrungszeitphase für gelöschte Elemente.
lppTable
[out] Ein Zeiger auf einen Zeiger auf die Hierarchietabelle.
Rückgabewert
S_OK
Die Hierarchietabelle wurde erfolgreich abgerufen.
MAPI_E_BAD_CHARWIDTH
Entweder wurde das flag MAPI_UNICODE festgelegt, und die Implementierung unterstützt Unicode nicht, oder MAPI_UNICODE wurde nicht festgelegt und die Implementierung unterstützt nur Unicode.
MAPI_E_NO_SUPPORT
Der Container verfügt über keine untergeordneten Container und kann keine Hierarchietabelle bereitstellen.
Hinweise
Die IMAPIContainer::GetHierarchyTable-Methode gibt einen Zeiger auf die Hierarchietabelle eines Containers zurück. Eine Hierarchietabelle enthält Zusammenfassungsinformationen zu den untergeordneten Containern im Container. Ordnerhierarchietabellen enthalten Informationen zu Unterordnern. Adressbuchhierarchietabellen enthalten Informationen zu untergeordneten Adressbuchcontainern und Verteilerlisten.
Es ist möglich, dass einige Container keine untergeordneten Container haben. Diese Container geben MAPI_E_NO_SUPPORT aus ihren Implementierungen von GetHierarchyTable zurück.
Wenn das CONVENIENT_DEPTH-Flag festgelegt ist, enthält jede Zeile in der Hierarchietabelle auch die eigenschaft PR_DEPTH (PidTagDepth) als Spalte. PR_DEPTH gibt die Ebene jedes Containers relativ zu dem Container an, der die Tabelle implementiert. Die unmittelbar untergeordneten Container des implementierenden Containers befinden sich in Tiefe 0, untergeordnete Container in den Tiefencontainern von 0 (null) in Tiefe 1 usw. Die Werte von PR_DEPTH mit zunehmender Hierarchie der Ebenen sequenziell erhöht.
Eine vollständige Liste der erforderlichen und optionalen Spalten in Hierarchietabellen finden Sie unter Hierarchietabellen.
Hinweise für Implementierer
Wenn Sie eine Hierarchietabelle für Ihren Container unterstützen, müssen Sie auch die folgenden Schritte ausführen:
Unterstützen Sie einen Aufruf der IMAPIProp::OpenProperty-Methode des Containers, um die eigenschaft PR_CONTAINER_HIERARCHY (PidTagContainerHierarchy) zu öffnen.
Zurückgeben PR_CONTAINER_HIERARCHY von einem Aufruf der Methoden IMAPIProp::GetPropList oder IMAPIProp::GetProps des Containers.
Hinweise für Aufrufer
Tabellenspalten mit Zeichenfolgen und binären Inhalten können abgeschnitten werden. In der Regel geben Anbieter 255 Zeichen zurück. Da Sie im Voraus nicht wissen können, ob eine Tabelle abgeschnittene Spalten enthält, gehen Sie davon aus, dass eine Spalte abgeschnitten wird, wenn die Länge der Spalte 255 oder 510 Bytes beträgt. Sie können den vollständigen Wert einer abgeschnittenen Spalte bei Bedarf immer direkt aus dem Objekt abrufen, indem Sie dessen Eintragsbezeichner verwenden, um es zu öffnen, und dann die IMAPIProp::GetProps-Methode aufrufen.
Abhängig von der Implementierung des Anbieters können Einschränkungen und Sortiervorgänge für die gesamte Zeichenfolge oder für die gekürzte Version dieser Zeichenfolge gelten. Außerdem ist nicht garantiert, dass Speicheranbieter den für Hierarchietabellen angegebenen SSortOrderSet-Sortierreihenfolgesatz berücksichtigen.
MFCMAPI-Referenz
Einen MFCMAP-Beispielcode finden Sie in der folgenden Tabelle.
Datei | Funktion | Kommentar |
---|---|---|
HierarchyTableTreeCtrl.cpp |
CHierarchyTableTreeCtrl::GetHierarchyTable |
Die CHierarchyTableTreeCtrl-Klasse verwendet GetHierarchyTable , um Hierarchietabellen abzurufen, die in einem Strukturansichtssteuerelement angezeigt werden. |