Freigeben über


IMsgServiceAdmin::GetProviderTable

Gilt für: Outlook 2013 | Outlook 2016

Bietet Zugriff auf die Anbietertabelle, eine Liste der Dienstanbieter im Profil.

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

Parameter

ulFlags

[in] Immer NULL.

lppTable

[out] Ein Zeiger auf einen Zeiger auf die Anbietertabelle.

Rückgabewert

S_OK

Die Anbietertabelle wurde erfolgreich zurückgegeben.

Hinweise

Die IMsgServiceAdmin::GetProviderTable-Methode bietet Zugriff auf die MAPI-Anbietertabelle, eine Tabelle, in der alle derzeit im Profil installierten Adressbuch-, Nachrichtenspeicher- und Transportanbieter aufgeführt sind.

Im Gegensatz zur Anbietertabelle, die über die IProviderAdmin::GetProviderTable-Methode zurückgegeben wird, kann die über IMsgServiceAdmin::GetProviderTable zurückgegebene Anbietertabelle keine zusätzlichen Zeilen enthalten, die Informationen darstellen, die einem oder mehreren Dienstanbietern im Profil zugeordnet sind.

Anbieter, die gelöscht wurden oder verwendet werden, aber zum Löschen markiert wurden, sind nicht in der Anbietertabelle enthalten. Anbietertabellen sind statisch, was bedeutet, dass nachfolgende Ergänzungen oder Löschungen aus dem Profil nicht in der Tabelle widerzuspiegeln sind.

Wenn das Profil keine Anbieter aufweist, gibt GetProviderTable eine Tabelle mit null Zeilen und dem S_OK Rückgabewert zurück.

Eine vollständige Liste der Spalten in der Anbietertabelle finden Sie unter Anbietertabelle.

Hinweise für Aufrufer

Gehen Sie wie folgt vor, um die Zeilen einer Anbietertabelle in Transportreihenfolge abzurufen:

  1. Rufen Sie die IMAPITable::Restrict-Methode auf, um eine Eigenschaftseinschränkung zu erzwingen, die der eigenschaft PR_RESOURCE_TYPE (PidTagResourceType) mit MAPI_TRANSPORT_PROVIDER entspricht.

  2. Rufen Sie die IMAPITable::SortTable-Methode auf, um die Tabelle nach der spalte PR_PROVIDER_ORDINAL (PidTagProviderOrdinal) zu sortieren.

  3. Rufen Sie die IMAPITable::QueryRows-Methode auf, um die Zeilen der Tabelle abzurufen.

Eine Alternative zu diesen Aufrufen besteht darin, einen einzelnen Aufruf der HrQueryAllRows-Funktion mit allen übergebenen entsprechenden Datenstrukturen durchzuführen.

Wenn Sie die PR_SERVICE_UID (PidTagServiceUid)-Spalten in jeder der Zeilen abrufen, können Sie dieses Array von MAPIUID-Strukturen verwenden, um die Transportreihenfolge in einem Aufruf von IMsgServiceAdmin::MsgServiceTransportOrder festzulegen.

Das Festlegen des MAPI_UNICODE-Flags im ulFlags-Parameter führt folgende Aktionen aus:

  • Legt den Zeichenfolgentyp für Daten, die für die anfänglichen aktiven Spalten der Anbietertabelle von der IMAPITable::QueryColumns-Methode zurückgegeben werden, auf Unicode fest. Die anfänglich aktiven Spalten für eine Anbietertabelle sind die Spalten, die die QueryColumns-Methode zurückgibt, bevor der Anbieter, der die Tabelle enthält, die IMAPITable::SetColumns-Methode aufruft .

  • Legt den Zeichenfolgentyp für Daten, die für die anfänglichen aktiven Zeilen der Anbietertabelle von QueryRows zurückgegeben werden, auf Unicode fest. Die anfänglichen aktiven Zeilen für eine Anbietertabelle sind die Zeilen, die QueryRows zurückgibt, bevor der Anbieter, der die Tabelle enthält, SetColumns aufruft.

  • Steuert die Eigenschaftentypen der Sortierreihenfolge, die von der IMAPITable::QuerySortOrder-Methode zurückgegeben wird, bevor der Client, der die Anbietertabelle enthält, die IMAPITable::SortTable-Methode aufruft.

Siehe auch

IMsgServiceAdmin::GetMsgServiceTable

IMsgServiceAdmin::MsgServiceTransportOrder

IProviderAdmin::GetProviderTable

IMsgServiceAdmin : IUnknown