通知變更指標(傳統 Windows 環境功能)
注意
Windows 桌面搜尋 2.x 是一項過時的技術,最初提供作為 Windows XP 和 Windows Server 2003 的附加元件。 在新版中,請改用 Windows 搜尋。
使用 Microsoft Windows 桌面搜尋 (WDS) 2.6,指定數據存放區的通訊協定處理程式可以告訴 WDS 索引器,其存放區中的數據何時變更。 這可藉由確保索引器不會在增量索引上掃描整個存放區來改善效能。 使用通知 API,通訊協定處理程式可以通知索引器已移動或刪除專案,而且可以將範圍新增至需要編製索引的 URL 的 WDS 索引器編目佇列。 通知對於電子郵件之類的應用程式很有説明,其中通訊協定處理程式會監視存放區,並通知索引器項目已變更且需要重新編製索引。
ISearchItemsChangedSink
通訊協議處理程式會透過 ISearchItemsChangedSink 介面通知索引器變更。 數據變更的相關信息應該收集於 SEARCH_ITEM_CHANGE 結構和 SEARCH_KIND_OF_CHANGE 列舉類型中,然後透過 ISearchItemsChangedSink 介面的 OnItemsChanged 方法,與 Indexer 通訊。
若要存取這個介面,自定義通訊協定處理程式必須先具現化 ISearchManager 物件,才能存取 ISearchCatalogManager 物件。 您可以從該處具現化 ISearchItemsChangedSink 物件,並通知 Indexer 數據變更。
OnItemsChanged 方法可讓您收集和傳達數據變更給客戶數據存放區,以起始索引編製。
方向 | 變數 | 描述 |
---|---|---|
在 | 更改次數 | 通知中的變更總數。 |
在 | 資料變更條目[] | SEARCH_ITEM_CHANGE 結構陣列中的所有變更通知。 |
出去 | dwBatchId | 會隨著錯誤訊息一同傳回的批次標識碼。 |
外出 | hrCompletionCodes[] | 指出是否已接受每個 URL 進行索引編製。 |
SEARCH_ITEM_CHANGE 結構會識別發生的變更種類,以及專案的目前URL和先前的URL,如果適用的話。 結構的定義如下:
屬性名稱 | 屬性類型 | 描述 |
---|---|---|
改變 | 變更類型搜尋 | 正在通知的變更類型。 |
URL | LPWSTR | 已變更之物件的 URL。 |
OldURL | LPWSTR | 如果通知是移動,則會提供舊的URL,而且必須是唯一的。 |
優先權 | 搜尋通知優先權 | 變更的優先順序。 |
SEARCH_KIND_OF_CHANGE列舉的定義如下:
列舉值 | 價值 | 描述 |
---|---|---|
搜尋_變更_新增 | 0 | 通知適用於其他 URL。 |
搜尋_變更_刪除 | 1 | 通知用於刪除URL。 |
搜尋_更改_修改 | 2 | 通知顯示一個 URL 已經被修改。 |
搜尋_變更_移動_重新命名 | 3 | 通知用於將物件移動和重新命名為新的URL。 |
搜尋更改語義目錄 | 0x10000 | 通知是針對一個容器 URL。 |
搜尋_變更_語義_淺層 | 0x20000 | 通知適用於只應為其容器屬性編製索引的容器 URL。 |
搜索變更語義安全性 | 0x40000 | 通知適用於已變更其安全性屬性的 URL 或容器 URL。 |
SEARCH_NOTIFICATION_PRIORITY列舉的定義如下:
列舉值 | 價值 | 描述 |
---|---|---|
搜索_普通_優先級 | 0 | 編製 URL 索引時,應該只使用一般優先順序。 這些通知會在使用者檔案和存放區進行一般背景增量索引之前處理。 |