Уведомление индекса изменений (устаревшие функции среды Windows)
Примечание
Windows Desktop Search 2.x — это устаревшая технология, которая изначально была доступна в качестве надстройки для Windows XP и Windows Server 2003. В более поздних выпусках используйте Windows Search .
При использовании microsoft Windows Desktop Search (WDS) 2.6 обработчики протоколов для данного хранилища данных могут сообщать индексатору WDS об изменении данных в хранилище. Это повышает производительность, гарантируя, что индексатор не будет выполнять обход всего хранилища по добавочным индексам. С помощью API-интерфейсов уведомлений обработчики протоколов могут уведомлять Индексатор о перемещении или удалении элемента, а также добавлять области в очередь обхода url-адресов, требующих индексирования, в очередь обхода индексатора WDS. Уведомление полезно для таких приложений, как электронная почта, где обработчик протокола отслеживает хранилище и уведомляет индексатор о том, что элементы были изменены и требуют индексирования.
ISearchItemsChangedSink
Обработчики протоколов уведомляют Индексатор об изменениях через интерфейс ISearchItemsChangedSink . Сведения об изменениях данных должны собираться в SEARCH_ITEM_CHANGE структуры и SEARCH_KIND_OF_CHANGE типах перечисления, а затем передаваться индексатору с помощью метода OnItemsChanged интерфейса ISearchItemsChangedSink .
Чтобы получить доступ к этому интерфейсу, обработчики пользовательских протоколов должны сначала создать экземпляр объекта ISearchManager , чтобы получить доступ к объекту ISearchCatalogManager . После этого можно создать экземпляр объекта ISearchItemsChangedSink и уведомить Индексатор об изменениях данных.
Метод OnItemsChanged позволяет собирать и передавать изменения данных в хранилище данных клиентов для запуска индексирования.
Направление | Переменная | Описание |
---|---|---|
В | dwNumberofChanges | Общее количество изменений в уведомлении. |
В | DataChangeEntries[] | Все уведомления об изменениях в массиве SEARCH_ITEM_CHANGE структур. |
Исходящий | dwBatchId | Идентификатор пакета, который будет передан обратно с ошибками. |
Исходящий | hrCompletionCodes[] | Указывает, был ли каждый URL-адрес принят для индексирования. |
Структура SEARCH_ITEM_CHANGE определяет тип произошедших изменений, а также текущий URL-адрес элемента и предыдущий URL-адрес, если применимо. Структура определяется следующим образом:
Имя свойства | Тип свойства | Описание |
---|---|---|
Изменение | SEARCH_KIND_OF_CHANGE | Тип извещенного изменения. |
URL-адрес | LPWSTR | URL-адрес измененного объекта. |
OldURL | LPWSTR | Если уведомление является перемещением, старый URL-адрес предоставляется и должен быть уникальным. |
Приоритет | SEARCH_NOTIFICATION_PRIORITY | Приоритет изменения. |
Перечисление SEARCH_KIND_OF_CHANGE определяется следующим образом:
Значение перечисления | Значение | Описание |
---|---|---|
SEARCH_CHANGE_ADD | 0 | Уведомление предназначено для дополнительного URL-адреса. |
SEARCH_CHANGE_DELETE | 1 | Уведомление предназначено для удаления URL-адреса. |
SEARCH_CHANGE_MODIFY | 2 | Уведомление заключается в том, что URL-адрес был изменен. |
SEARCH_CHANGE_MOVE_RENAME | 3 | Уведомление предназначено для перемещения и переименования объекта на новый URL-адрес. |
SEARCH_CHANGE_SEMANTICS_DIRECTORY | 0x10000 | Уведомление предназначено для URL-адреса контейнера. |
SEARCH_CHANGE_SEMANTICS_SHALLOW | 0x20000 | Уведомление предназначено для URL-адреса контейнера, который должен индексировать только свойства контейнера. |
SEARCH_CHANGE_SEMANTICS_SECURITY | 0x40000 | Уведомление предназначено для URL-адреса или URL-адреса контейнера, для которого были изменены свойства безопасности. |
Перечисление SEARCH_NOTIFICATION_PRIORITY определяется следующим образом:
Значение перечисления | Значение | Описание |
---|---|---|
SEARCH_NORMAL_PRIORITY | 0 | При индексировании URL-адреса следует использовать только обычный приоритет. Эти уведомления обрабатываются перед обычным фоновым добавочным индексированием файлов и хранилищ пользователя. |