通知舊版 Windows 環境功能 (變更的索引)
注意
Windows 桌面搜尋 2.x 是一種過時的技術,原本是 Windows XP 和 Windows Server 2003 的增益集。 在較新版本中,請改用 Windows 搜尋 。
透過 Microsoft Windows 桌面搜尋 (WDS) 2.6,給定資料存放區的通訊協定處理常式可以在存放區中的資料變更時告訴 WDS 索引子。 這可藉由確保索引子不會在累加索引上編目整個存放區來改善效能。 使用通知 API,通訊協定處理常式可以通知索引子已移動或刪除專案,而且可以將範圍新增至 WDS 索引子的編目佇列中,要求編制索引的 URL。 通知對於電子郵件之類的應用程式很有説明,其中通訊協定處理常式會監視存放區,並通知索引子專案已變更且需要編制索引。
ISearchItemsChangedSink
通訊協定處理常式會透過 ISearchItemsChangedSink 介面通知索引子變更。 資料變更的相關資訊應該收集在SEARCH_ITEM_CHANGE結構及SEARCH_KIND_OF_CHANGE列舉類型中,然後透過ISearchItemsChanged介面的OnItemsChanged方法與 Indexer 通訊。
若要存取此介面,自訂通訊協定處理常式必須先具現化 ISearchManager 物件,才能存取 ISearchCatalogManager 物件。 您可以從該處具現化 ISearchItemsChangedSink 物件,並通知索引子資料變更。
OnItemsChanged 方法可讓您收集和傳達資料變更給客戶資料存放區,以起始索引編制。
方向 | 變數 | Description |
---|---|---|
位於 | dwNumberofChanges | 通知中的變更總數。 |
位於 | DataChangeEntries[] | SEARCH_ITEM_CHANGE 結構陣列中的所有變更通知。 |
外 | dwBatchId | 將傳回並出現錯誤的批次識別碼。 |
外 | hrCompletionCodes[] | 指出是否接受每個 URL 進行索引編制。 |
SEARCH_ITEM_CHANGE 結構會識別發生的變更種類,以及專案的目前 URL 和先前 URL,如果適用的話。 結構的定義如下:
屬性名稱 | 屬性類型 | Description |
---|---|---|
變更 | SEARCH_KIND_OF_CHANGE | 正在通知的變更類型。 |
URL | LPWSTR | 已變更之物件的 URL。 |
OldURL | LPWSTR | 如果通知是移動的,則會提供舊的 URL,而且必須是唯一的。 |
優先順序 | SEARCH_NOTIFICATION_PRIORITY | 變更的優先順序。 |
SEARCH_KIND_OF_CHANGE列舉的定義如下:
列舉值 | 值 | Description |
---|---|---|
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列舉的定義如下:
列舉值 | 值 | Description |
---|---|---|
SEARCH_NORMAL_PRIORITY | 0 | 在編制 URL 的索引時,應該只使用一般優先順序。 這些通知會在使用者檔案和存放區的一般背景累加索引編制之前處理。 |