Implementieren der erweiterten Suche
Gilt für: Outlook 2013 | Outlook 2016
Einige Adressbuchcontainer unterstützen eine erweiterte Suchfunktion, mit der Clients nach anderen Eigenschaften als PR_DISPLAY_NAME (PidTagDisplayName) suchen können. Zur Unterstützung erweiterter Suchvorgänge muss Ihr Anbieter einen speziellen Container implementieren, auf den über die eigenschaft PR_SEARCH (PidTagSearch) Ihrer anderen Container zugegriffen werden kann. PR_SEARCH enthält ein Containerobjekt, das Zugriff auf eine Anzeigetabelle bietet, die das Dialogfeld beschreibt, das zum Eingeben und Bearbeiten der erweiterten Suchkriterien verwendet wird.
So unterstützen Sie die erweiterte Suche
Definieren Sie eine Eigenschaft für jedes Ihrer Suchkriterien.
Im Codeabschnitt der IMAPIProp::OpenProperty-Methode Ihres Containers, die die PR_SEARCH-Eigenschaft behandelt:
Überprüfen Sie, ob der Client die IMAPIContainer-Schnittstelle anfordert. Wenn eine unangemessene Schnittstelle angefordert wird, schlagen Sie fehl, und geben Sie MAPI_E_INTERFACE_NOT_SUPPORTED zurück.
Erstellen Sie ein neues Suchobjekt, das die IMAPIContainer-Schnittstelle unterstützt.
An diesem Punkt wird die IMAPIProp::OpenProperty-Methode Ihres Suchcontainers aufgerufen, um die PR_DETAILS_TABLE -Eigenschaft (PidTagDetailsTable) abzurufen. Ihr Anbieter muss eine Anzeigetabelle bereitstellen, in der Regel über einen Aufruf von BuildDisplayTable, die das Dialogfeld für die erweiterte Suche des Containers beschreibt.
MAPI zeigt das Suchdialogfeld an, sodass der Benutzer die entsprechenden Kriterien eingeben kann. Wenn der Benutzer fertig ist, ruft MAPI die IMAPIProp::SetProps-Methode des Containers auf, um die Suchkriterien zu speichern.
Es wird ein Aufruf ausgeführt, um die Inhaltstabelle Ihres Suchcontainers anzufordern. Füllen Sie die Inhaltstabelle mit allen Einträgen im Container auf, die den Kriterien entsprechen.