Freigeben über


Inhaltstabellen

Gilt für: Outlook 2013 | Outlook 2016

Eine Inhaltstabelle enthält Informationen zu Objekten in einem MAPI-Container. Adressbuchanbieter implementieren Inhaltstabellen für jeden ihrer Container, und Nachrichtenspeicher- und Remotetransportanbieter implementieren Inhaltstabellen für ihre Ordner. Die Inhaltstabelle eines Adressbuchcontainers enthält Informationen zu den Messagingbenutzer- und Verteilerlistenobjekten, während die Inhaltstabelle eines Ordners Informationen zu den zugehörigen Nachrichten enthält. Inhaltstabellen werden hauptsächlich von Clientanwendungen verwendet.

Es gibt zwei Arten von Ordnerinhaltstabellen:

  • Standardinhaltstabellen enthalten Standardnachrichten – Nachrichten, die übertragen und für einen Benutzer sichtbar gemacht werden können.

  • Zugeordnete Inhaltstabellen enthalten ausgeblendete, nicht übertragbare Informationen, die von einem Client für einen bestimmten Zweck erstellt wurden, z. B. zum Speichern einer alternativen Darstellung einer Standardnachricht. Zugeordnete Informationen werden erstellt, indem das MAPI_ASSOCIATED-Flag an den IMAPIFolder::CreateMessage-Aufruf übergeben wird.

Die Inhaltstabellen der meisten Adressbuchcontainer und vieler Ordner unterstützen keine kategorisierte Sortierung.

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

Nachrichtenspeicher- und Adressbuchanbieter müssen beide Techniken zum Abrufen von Tabelleneigenschaften unterstützen. Es ist inakzeptabel, dass Anbieter nur eine Möglichkeit für den Zugriff auf diese Tabellen unterstützen, da Clients erwarten, dass sie die Wahl haben.

GetContentsTable akzeptiert als Eingabe mehrere Flags, die Einstellungen angeben. Wenn festgelegt, ruft das MAPI_ASSOCIATED-Flag eine zugeordnete Inhaltstabelle ab. Da einige Ordner zugeordnete Inhalte nicht unterstützen und clients dies nicht im Voraus bestimmen können, gibt GetContentsTable manchmal den Fehler MAPI_E_NO_SUPPORT zurück, wenn eine zugeordnete Inhaltstabelle angefordert wird.

Das flag MAPI_DEFERRED_ERRORS gibt dem Implementierer der Tabelle an, dass fehler, die während des Aufrufs aufgetreten sind, erst zu einem späteren Zeitpunkt gemeldet werden müssen.

Der Aufruf von IMAPIProp::OpenProperty umfasst den Zugriff auf eine Inhaltstabelle durch Öffnen der entsprechenden Eigenschaft, PR_CONTAINER_CONTENTS für Adressbuchinhaltstabellen und Standardordnerinhaltstabellen und PR_FOLDER_ASSOCIATED_CONTENTS für verknüpfte Inhaltstabellen. Obwohl keine oder diese Eigenschaften über die IMAPIProp::GetProps-Methode eines Ordners oder Containers abgerufen werden können, sind sie im Eigenschaftentagarray enthalten, das von der IMAPIPropProp::GetPropList-Methode zurückgegeben wird.

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

Adressbuchcontainer- und Ordnerinhaltstabellen verfügen über eine lange Liste der erforderlichen Spalten – Spalten, von denen Clients erwarten können, dass sie verfügbar sind, nachdem sie die Tabelle aus GetContentsTable oder OpenProperty abgerufen haben. Anbieter können diesem erforderlichen Satz bei Bedarf hinzufügen, und Clients können über die SetColumns-Methode auch Änderungen anfordern.

Die erforderlichen Spalten für die einzelnen Inhaltstabellentypen sind:

Erforderliche Spalte Inhaltsverzeichnistyp
PR_ADDRTYPE (PidTagAddressType)
Adressbuchcontainertabellen
PR_DISPLAY_NAME (PidTagDisplayName)
Adressbuchcontainertabellen
PR_DISPLAY_CC (PidTagDisplayCc)
Nachrichtenspeicherordnertabellen
PR_DISPLAY_TO (PidTagDisplayTo)
Alle Ordnerinhaltstabellen
PR_DISPLAY_TYPE (PidTagDisplayType)
Adressbuchcontainertabellen
PR_ENTRYID (PidTagEntryId)
Alle Inhaltstabellen
PR_HASATTACH (PidTagHasAttachments)
Alle Ordnerinhaltstabellen
PR_INSTANCE_KEY (PidTagInstanceKey)
Alle Inhaltstabellen
PR_LAST_MODIFICATION_TIME (PidTagLastModificationTime)
Nachrichtenspeicherordnertabellen
PR_MAPPING_SIGNATURE (PidTagMappingSignature)
Nachrichtenspeicherordnertabellen
PR_MESSAGE_CLASS (PidTagMessageClass)
Alle Ordnerinhaltstabellen
PR_MESSAGE_DOWNLOAD_TIME (PidTagMessageDownloadTime)
Tabellen für Remotetransportordner
PR_MESSAGE_FLAGS (PidTagMessageFlags)
Alle Ordnerinhaltstabellen
PR_MESSAGE_SIZE (PidTagMessageSize)
Alle Ordnerinhaltstabellen
PR_MSG_STATUS (PidTagMessageStatus)
Alle Ordnerinhaltstabellen
PR_OBJECT_TYPE (PidTagObjectType)
Alle Inhaltstabellen
PR_PARENT_ENTRYID (PidTagParentEntryId)
Nachrichtenspeicherordnertabellen
PR_RECORD_KEY (PidTagRecordKey)
Adressbuchcontainer und Nachrichtenspeicherordnertabellen
PR_SENT_REPRESENTING_NAME (PidTagSentRepresentingName)
Tabellen für Remotetransportordner
PR_STORE_ENTRYID (PidTagStoreEntryId)
Nachrichtenspeicherordnertabellen
PR_STORE_RECORD_KEY (PidTagStoreRecordKey)
Nachrichtenspeicherordnertabellen

Der für jede Zeile verfügbare Eintragsbezeichner kann je nach Tabellenimplementierung entweder ein kurz- oder langfristiger Eintragsbezeichner sein. Bezeichner für kurzfristige Eingaben werden in der Regel in Situationen verwendet, in denen die Leistung ein Problem darstellt. Jeder Typ von Eintragsbezeichner kann für den Zugriff auf das entsprechende Objekt verwendet werden.

Inhaltstabellen enthalten auch eine Reihe von Spalten, die optional sind, aber häufig von Dienstanbietern in ihren Implementierungen enthalten sind. Diese optionalen Spalten sind:

Optionale Spalte Inhaltsverzeichnistyp
PR_CLIENT_SUBMIT_TIME (PidTagClientSubmitTime)
Nachrichtenspeicherordnertabellen
PR_CONTENT_COUNT (PidTagContentCount)
Standardordnerinhaltstabellen
PR_CONTENT_UNREAD (PidTagContentUnreadCount)
Standardordnerinhaltstabellen
PR_CONVERSATION_INDEX (PidTagConversationIndex)
Nachrichtenspeicherordnertabellen
PR_EMAIL_ADDRESS (PidTagEmailAddress)
Adressbuchcontainertabellen
PR_IMPORTANCE (PidTagImportance)
Alle Ordnerinhaltstabellen
PR_MESSAGE_DELIVERY_TIME (PidTagMessageDeliveryTime)
Alle Ordnerinhaltstabellen
PR_NORMALIZED_SUBJECT (PidTagNormalizedSubject)
Alle Ordnerinhaltstabellen
PR_PRIORITY (PidTagPriority)
Alle Ordnerinhaltstabellen
PR_SEARCH_KEY (PidTagSearchKey)
Adressbuchcontainertabellen
PR_SEND_RICH_INFO (PidTagSendRichInfo)
Adressbuchcontainertabellen
PR_SENDER_NAME (PidTagSenderName)
Alle Ordnerinhaltstabellen
PR_SENSITIVITY (PidTagSensitivity)
Alle Ordnerinhaltstabellen
PR_SUBJECT (PidTagSubject)
Alle Ordnerinhaltstabellen
PR_TRANSMITABLE_DISPLAY_NAME (PidTagTransmittableDisplayName)
Adressbuchcontainertabellen

Nachrichtenspeicheranbieter müssen auch PR_PARENT_DISPLAY (PidTagParentDisplay) nur für Inhaltstabellen von Suchergebnisordnern enthalten.

Benannte Eigenschaften können dem Spaltensatz einer Ordnerinhaltstabelle nur hinzugefügt werden, wenn alle Nachrichten im Ordner die gleiche Zuordnungssignatur aufweisen, d. h. die gleiche Zuordnung von Eigenschaftsnamen zu Eigenschaftsbezeichnern. Ordnerinhaltstabellen sollten das Hinzufügen von nachrichtenklassenspezifischen Eigenschaften zum Spaltensatz unterstützen, wenn sie die Erstellung beliebiger Nachrichten im Ordner unterstützen.

Clients können die Standardsortierreihenfolge für eine Ordnerinhaltstabelle speichern, indem sie ihre IMAPIFolder::SaveContentsSort-Methode aufrufen. Wenn das RECURSIVE_SORT-Flag für den Aufruf angegeben ist, kann die Sortierreihenfolge so festgelegt werden, dass sie auf alle Unterordner innerhalb des Ordners angewendet wird.

Siehe auch

MAPI-Tabellen