Freigeben über


IProviderAdmin::GetProviderTable

Gilt für: Outlook 2013 | Outlook 2016

Bietet Zugriff auf die Anbietertabelle des Nachrichtendiensts, eine Liste der Dienstanbieter im Nachrichtendienst.

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

Parameter

ulFlags

[in] Eine Bitmaske von Flags, die den Typ der in den Spalten der Anbietertabelle zurückgegebenen Zeichenfolgen steuert. Das folgende Flag kann festgelegt werden:

MAPI_UNICODE

Die Zeichenfolgenspalten weisen das Unicode-Format auf. Wenn das MAPI_UNICODE-Flag nicht festgelegt ist, weisen die Spalten das ANSI-Format auf.

lppTable

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

Rückgabewert

S_OK

Die Anbietertabelle wurde erfolgreich zurückgegeben.

Hinweise

Die IProviderAdmin::GetProviderTable-Methode ruft einen Zeiger auf die Anbietertabelle des Nachrichtendiensts ab, eine Tabelle, die MAPI verwaltet, die Informationen zu den einzelnen Dienstanbietern im Nachrichtendienst enthält.

Im Gegensatz zur Anbietertabelle, die von der IMsgServiceAdmin::GetProviderTable-Methode zurückgegeben wird, kann die von IProviderAdmin::GetProviderTable zurückgegebene Anbietertabelle zusätzliche Zeilen enthalten, die Informationen darstellen, die einem oder mehreren Dienstanbietern im Nachrichtendienst zugeordnet sind. Diese zusätzlichen Informationen werden dem Profil mit dem Schlüsselwort (keyword) "Sections" der Datei Mapisvc.inf hinzugefügt. Wenn ein Anbieter über zusätzliche Profilabschnitte verfügt, speichert er die MAPIUID-Strukturen für diese Abschnitte in der eigenschaft PR_SERVICE_EXTRA_UIDS (PidTagServiceExtraUids). PR_SERVICE_EXTRA_UIDS wird im Abschnitt "Nachrichtendienstprofil" gespeichert.

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 Nachrichtendienst nicht in der Tabelle widerzuspiegeln sind.

Wenn der Nachrichtendienst über keine Anbieter verfügt, gibt IProviderAdmin::GetProviderTable eine Tabelle mit null Zeilen und dem S_OK Rückgabewert zurück.

Das Festlegen des MAPI_UNICODE-Flags im ulFlags-Parameter wirkt sich auf das Format der Spalten aus, die von den Methoden IMAPITable::QueryColumns und IMAPITable::QueryRows zurückgegeben werden.

Dieses Flag steuert auch die Eigenschaftstypen in der Sortierreihenfolge, die von der IMAPITable::QuerySortOrder-Methode zurückgegeben wird.

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

Hinweise für Aufrufer

Um die Zeilen einer Anbietertabelle in Transportreihenfolge abzurufen, sortieren Sie die Tabelle nach der Spalte PR_PROVIDER_ORDINAL (PidTagProviderOrdinal).

Um nur die Zeilen abzurufen, die Dienstanbieter darstellen (ohne zusätzliche Zeilen), beschränken Sie den Abruf auf die Zeilen, deren PR_RESOURCE_TYPE (PidTagResourceType)-Spalte den Wert PT_ERROR haben.

MFCMAPI-Referenz

Einen MFCMAP-Beispielcode finden Sie in der folgenden Tabelle.

Datei Funktion Kommentar
MsgServiceTableDlg.cpp
CMsgServiceTableDlg::OnDisplayItem
MFCMAPI verwendet die IProviderAdmin::GetProviderTable-Methode , um die Tabelle der Anbieter abzurufen, die in einem neuen Dialogfeld gerendert werden sollen.

Siehe auch

IMAPITable::QueryColumns

IMAPITable::QueryRows

IMAPITable::QuerySortOrder

IMAPITable::SetColumns

IMsgServiceAdmin::GetProviderTable

IProviderAdmin : IUnknown

MFCMAPI (engl.) als ein Codebeispiel