Freigeben über


IMAPIContainer::GetContentsTable

Gilt für: Outlook 2013 | Outlook 2016

Gibt einen Zeiger auf die Inhaltstabelle des Containers zurück.

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

Parameter

ulFlags

[in] Eine Bitmaske von Flags, die steuert, wie die Inhaltstabelle zurückgegeben wird. Die folgenden Flags können festgelegt werden:

MAPI_ASSOCIATED

Die dem Container zugeordnete Inhaltstabelle sollte anstelle der Standardinhaltstabelle zurückgegeben werden. Dieses Flag wird nur für Ordner verwendet. Die Nachrichten, die in der zugeordneten Inhaltstabelle enthalten sind, wurden mit dem MAPI_ASSOCIATED-Flag erstellt, das im Aufruf der IMAPIFolder::CreateMessage-Methode festgelegt wurde. Clients verwenden in der Regel die zugeordnete Inhaltstabelle, um Formulare, Ansichten und andere ausgeblendete Nachrichten abzurufen.

ACLTABLE_FREEBUSY

Ermöglicht den Zugriff auf die Rechte frightsFreeBusySimple und frightsFreeBusyDetailed in PR_MEMBER_RIGHTS.

MAPI_DEFERRED_ERRORS

GetContentsTable 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 Inhaltstabelle.

Rückgabewert

S_OK

Die Inhaltstabelle 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 enthält keinen Inhalt und kann keine Inhaltstabelle bereitstellen.

Hinweise

Die IMAPIContainer::GetContentsTable-Methode gibt einen Zeiger auf die Inhaltstabelle eines Containers zurück. Eine Inhaltstabelle enthält Zusammenfassungsinformationen zu Objekten im Container.

Inhaltstabellen weisen langwierige Spaltensätze auf. Eine vollständige Liste der erforderlichen und optionalen Spalten in Inhaltstabellen finden Sie unter Inhaltstabellen.

Es ist möglich, dass einige Container keine Inhalte enthalten. Diese Container geben MAPI_E_NO_SUPPORT aus ihren Implementierungen von GetContentsTable zurück.

Hinweise für Implementierer

Wenn Sie eine Inhaltstabelle für Ihren Container unterstützen, müssen Sie auch die folgenden Schritte ausführen:

Die Implementierung dieser Methode durch einen Remotetransportanbieter muss einen Zeiger auf eine IMAPITable: IUnknown-Schnittstelle im ppTable-Parameter zurückgeben, der an die GetContentsTable-Methode übergeben wird. Wenn Ihr Transportanbieter über eine vorhandene Inhaltstabelle verfügt, reicht es aus, einen Zeiger darauf zurückzugeben. Wenn dies nicht der Fall ist, muss diese Methode ein neues IMAPITable: IUnknown-Objekt erstellen, die Tabelle mit Nachrichtenheadern auffüllen (sofern verfügbar) und einen Zeiger auf die neue Tabelle zurückgeben. Die ITableData::HrGetView-Methode ist nützlich, um einen Rückgabewert zu generieren und den Tabellenzeiger im ppTable-Parameter zu speichern. Die Inhaltstabelle muss mindestens die folgenden Eigenschaftenspalten unterstützen:

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 alle Zeichenfolgen oder für die gekürzte Version dieser Zeichenfolge gelten.

MFCMAPI-Referenz

Einen MFCMAP-Beispielcode finden Sie in der folgenden Tabelle.

Datei Funktion Kommentar
ContentsTableDialog.cpp
CContentsTableDlg::CContentsTableDlg
Die CContentsTableDlg-Klasse verwendet GetContentsTable , um die Einträge in einer Inhaltstabelle abzurufen.

Siehe auch

IMAPIProp::GetPropList

IMAPIProp::GetProps

IMAPIProp::OpenProperty

IMAPITable : IUnknown

PidTagContainerContents (kanonische Eigenschaft)

IMAPIContainer : IMAPIProp

MFCMAPI (engl.) als ein Codebeispiel