Benachrichtigen des Indexes der Änderungen (Ältere Windows-Umgebungsfeatures)

Hinweis

Windows Desktop Search 2.x ist eine veraltete Technologie, die ursprünglich als Add-In für Windows XP und Windows Server 2003 verfügbar war. Verwenden Sie in späteren Versionen stattdessen Windows Search .

Mit Microsoft Windows Desktop Search (WDS) 2.6 können Protokollhandler für einen bestimmten Datenspeicher dem WDS-Indexer mitteilen, wenn sich Die Daten in ihrem Speicher geändert haben. Dadurch wird die Leistung verbessert, indem sichergestellt wird, dass der Indexer nicht den gesamten Speicher auf inkrementellen Indizes durchforstet. Mithilfe von Benachrichtigungs-APIs können Protokollhandler den Indexer benachrichtigen, dass ein Element verschoben oder gelöscht wurde, und sie können der Durchforstungswarteschlange von URLs, die eine Indizierung erfordern, Bereiche hinzufügen. Benachrichtigungen sind hilfreich für Anwendungen wie E-Mail, bei denen der Protokollhandler den Speicher überwacht und den Indexer benachrichtigt, dass Elemente geändert wurden und eine Indizierung erforderlich ist.

ISearchItemsChangedSink

Protokollhandler benachrichtigen den Indexer über die ISearchItemsChangedSink-Schnittstelle über Änderungen. Informationen zu Datenänderungen sollten in SEARCH_ITEM_CHANGE Strukturen und SEARCH_KIND_OF_CHANGE Enumerationstypen gesammelt und dann über die OnItemsChanged-Methode der ISearchItemsChangedSink-Schnittstelle an den Indexer übermittelt werden.

Um auf diese Schnittstelle zuzugreifen, muss ein benutzerdefinierter Protokollhandler zunächst ein ISearchManager-Objekt instanziieren, um Zugriff auf das ISearchCatalogManager-Objekt zu erhalten. Von dort aus kann man ein ISearchItemsChangedSink-Objekt instanziieren und den Indexer über die Datenänderungen benachrichtigen.

Mit der OnItemsChanged-Methode können Sie Datenänderungen sammeln und an Ihren Kundendatenspeicher übermitteln, um die Indizierung zu initiieren.

Direction Variable Beschreibung
In dwNumberofChanges Gesamtzahl der Änderungen in der Benachrichtigung.
In DataChangeEntries[] Alle Änderungsbenachrichtigungen in einem Array von SEARCH_ITEM_CHANGE Strukturen.
aus dwBatchId Die Batch-ID, die mit Fehlern zurückgegeben wird.
aus hrCompletionCodes[] Gibt an, ob jede URL für die Indizierung akzeptiert wurde.

 

Die SEARCH_ITEM_CHANGE-Struktur identifiziert die Art der Änderung, die aufgetreten ist, sowie die aktuelle URL und die vorherige URL des Elements, falls zutreffend. Die -Struktur ist wie folgt definiert:

Eigenschaftenname Eigenschaftstyp Beschreibung
Change SEARCH_KIND_OF_CHANGE Der Typ der Änderung, die benachrichtigt wird.
URL LPWSTR Die URL für das geänderte Objekt.
OldURL LPWSTR Wenn es sich bei der Benachrichtigung um eine Verschiebung handelt, wird die alte URL angegeben und muss eindeutig sein.
Priority SEARCH_NOTIFICATION_PRIORITY Die Priorität der Änderung.

 

Die SEARCH_KIND_OF_CHANGE-Enumeration ist wie folgt definiert:

Enumerationswert Wert Beschreibung
SEARCH_CHANGE_ADD 0 Die Benachrichtigung gilt für eine zusätzliche URL.
SEARCH_CHANGE_DELETE 1 Die Benachrichtigung gilt für das Löschen einer URL.
SEARCH_CHANGE_MODIFY 2 Die Benachrichtigung lautet, dass eine URL geändert wurde.
SEARCH_CHANGE_MOVE_RENAME 3 Die Benachrichtigung gilt für das Verschieben und Umbenennen eines Objekts in eine neue URL.
SEARCH_CHANGE_SEMANTICS_DIRECTORY 0x10000 Die Benachrichtigung gilt für eine Container-URL.
SEARCH_CHANGE_SEMANTICS_SHALLOW 0x20000 Die Benachrichtigung gilt für eine Container-URL, deren Containereigenschaften nur indiziert werden sollen.
SEARCH_CHANGE_SEMANTICS_SECURITY 0x40000 Die Benachrichtigung gilt für eine URL oder Container-URL, deren Sicherheitseigenschaften geändert wurden.

 

Die SEARCH_NOTIFICATION_PRIORITY-Enumeration ist wie folgt definiert:

Enumerationswert Wert Beschreibung
SEARCH_NORMAL_PRIORITY 0 Beim Indizieren der URL sollte nur eine normale Priorität verwendet werden. Diese Benachrichtigungen werden vor der normalen inkrementellen Indizierung im Hintergrund der Dateien und Speicher eines Benutzers verarbeitet.