從篩選處理常式傳回屬性

屬性是使用已註冊的屬性處理常式從專案擷取,或使用針對特定檔案類型註冊的篩選。 篩選處理常式 (IFilter 介面的實作) 可以任意方式解譯檔案類型的內容。

本主題的組織方式如下:

屬性篩選

下表列出屬性篩選的最佳做法。

方法 Description
IFilter::Init 傳回 IFILTER_FLAGS 列舉。 如果 此列舉的IFILTER_FLAGS_OLE_PROPERTIES 成員設定為一個,則 Windows 搜尋會使用 IPropertySetStorageIPropertyStorage 介面介面介面來列舉及存取外部實數值型別屬性。
IFilter::GetChunk 以「區塊」傳回檔的資訊,其中包含區塊類型 (文字或值) 、名稱和地區設定。 區塊包含一個檔案屬性。
IFilter::GetText 從區塊取得文字類型屬性。
IFilter::GetValue 從區塊取得實值型別屬性。

下圖顯示範例檔。 外部實值型別屬性 DocTitle (使用IPropertySetStorage 和 IPropertyStorage介面的方法取得,) 和 (取得的內部實數值型別屬性 Book ,) 將檔描述為整體。 文字類型屬性 ContentsChapter 描述檔的內容。 處理本檔時,篩選處理常式 (IFilter 介面的實作,) 識別並擷取這些屬性。

顯示一般檔的元素的圖表

屬性大小限制

屬性大小有兩個可能的限制:

  • Windows 搜尋服務接受每個檔案的資料大小上限。
  • 屬性描述檔中定義的每個屬性大小上限。

目前,Windows 搜尋不會在計算它從專案接受的資料量時,使用定義的屬性大小。 相反地,Windows 搜尋使用的限制是檔案大小乘積,而 MaxGrowFactor (檔案大小 N * MaxGrowFactor) 從登錄讀取。 預設值 MaxGrowFactor 為四。

HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Gathering Manager
            MaxGrowFactor

因此,如果您的檔案類型大小通常很小,但具有較大的屬性,Windows 搜尋可能無法接受您想要發出的所有屬性資料。 不過,您可以增加 MaxGrowFactor 以符合您的需求。

其他資源

開發篩選處理常式

關於 Windows 搜尋中的篩選處理常式

在 Windows 搜尋中建立篩選處理常式的最佳做法

使用 Windows 隨附的篩選處理常式

在 Windows 搜尋中實作篩選處理常式

註冊篩選處理常式

測試篩選處理常式