Anbietertabellen
Gilt für: Outlook 2013 | Outlook 2016
Eine Anbietertabelle enthält Informationen zu Dienstanbietern. Es gibt zwei verschiedene Anbietertabellen, die sowohl von MAPI implementiert als auch von Clients verwendet werden. Die erste Tabelle, auf die durch Aufrufen der IMsgServiceAdmin::GetProviderTable-Methode zugegriffen wird, enthält Informationen zu allen Anbietern für das aktuelle Profil. Die zweite Tabelle, auf die über IProviderAdmin::GetProviderTable zugegriffen wird, erstellt eine Tabelle, in der Informationen zu allen Dienstanbietern für einen Nachrichtendienst gespeichert werden.
Diese beiden Tabellen weisen einen weiteren Unterschied auf. Die über IMsgServiceAdmin::GetProviderTable verfügbare Anbietertabelle enthält nur Zeilen, die Dienstanbieter darstellen, während die über IProviderAdmin::GetProviderTable verfügbare Tabelle Zeilen enthalten kann, die zusätzliche Informationen darstellen, die einem Dienstanbieter zugeordnet sind. Diese zusätzlichen Informationen werden dem Profil mit dem Schlüsselwort (keyword) "Sections" von MAPISVC.INF hinzugefügt. Wenn ein Anbieter über zusätzliche Profilabschnitte verfügt, speichert er die MAPIUID-Werte für diese Abschnitte in der eigenschaft PR_SERVICE_EXTRA_UIDS (PidTagServiceExtraUids). PR_SERVICE_EXTRA_UIDS wird im Abschnitt "Nachrichtendienstprofil" gespeichert.
Die folgenden Eigenschaften bilden den erforderlichen Spaltensatz in beiden Typen von Anbietertabellen:
Eigenschaft | Wert |
---|---|
PR_INSTANCE_KEY (PidTagInstanceKey) |
PR_DISPLAY_NAME (PidTagDisplayName) |
PR_PROVIDER_DISPLAY (PidTagProviderDisplay) |
PR_PROVIDER_DLL_NAME (PidTagProviderDllName) |
PR_PROVIDER_ORDINAL (PidTagProviderOrdinal) |
PR_PROVIDER_UID (PidTagProviderUid) |
PR_RESOURCE_FLAGS (PidTagResourceFlags) |
PR_RESOURCE_TYPE (PidTagResourceType) |
PR_SERVICE_NAME (PidTagServiceName) |
PR_SERVICE_UID (PidTagServiceUid) |
Die Anbietertabelle kann verwendet werden, um den aktuellen Transportauftrag anzuzeigen oder zu ändern. Um die aktuelle Reihenfolge anzuzeigen, erstellen Sie eine Einschränkung, um nur die Zeilen abzurufen, bei denen die eigenschaft PR_RESOURCE_TYPE auf MAPI_TRANSPORT_PROVIDER festgelegt ist. Verwenden Sie dann PR_PROVIDER_ORDINAL als Sortierschlüssel, um die Tabelle zu sortieren und alle Zeilen mit der IMAPITable::QueryRows-Methode oder der HrQueryAllRows-Funktion abzurufen.
Um die Transportreihenfolge zu ändern, wenden Sie die gleiche Einschränkung an, und rufen Sie die Zeilen ab. Erstellen Sie dann ein Array von Werten aus der PR_PROVIDER_UID-Eigenschaft , die die eindeutigen Bezeichner für die Transportanbieter darstellt. Wenn sich die Bezeichner in der gewünschten Reihenfolge befinden, übergeben Sie sie an die IMsgServiceAdmin::MsgServiceTransportOrder-Methode .
Nachdem eine Anbietertabelle verfügbar gemacht wurde, spiegelt sie keine nachfolgenden Änderungen wider, z. B. das Hinzufügen oder Löschen eines Anbieters.