Возврат свойств из обработчика фильтра

Свойства извлекаются из элементов с помощью зарегистрированных обработчиков свойств или фильтров, зарегистрированных для определенных типов файлов. Обработчик фильтра (реализация интерфейса IFilter ) может интерпретировать содержимое файла любого типа.

Этот раздел организован следующим образом:

Фильтрация свойств

В следующей таблице приведены рекомендации по фильтрации свойств.

Метод Описание
IFilter::Init Возвращает перечисление IFILTER_FLAGS . Если элемент IFILTER_FLAGS_OLE_PROPERTIES этого перечисления имеет значение one, windows Search использует интерфейсы IPropertySetStorage и IPropertyStorage для перечисления внешних свойств типа значений и доступа к ней.
IFilter::GetChunk Возвращает сведения из документа в виде блоков с типом блока (текст или значение), именем и языковым стандартом. Блок содержит одно свойство документа.
IFilter::GetText Возвращает свойство текстового типа из блока.
IFilter::GetValue Возвращает свойство типа значения из блока.

На следующем рисунке показан пример документа. Свойство внешнего типа DocTitle значения (полученное с помощью методов интерфейсов IPropertySetStorage и IPropertyStorage ) и внутреннее свойство Book типа значения (полученное в результате пользовательской реализации IFilter ) описывают документ в целом. Свойства Contents текстового типа и Chapter описывают содержимое документа. При обработке этого документа обработчик фильтра (реализация интерфейса IFilter ) идентифицирует и извлекает эти свойства.

схема, показывающая элементы типичного документа

Ограничения размера свойств

Существует два потенциальных ограничения на размер свойства:

  • Максимальный размер данных, принимаемых в Windows Search для каждого файла.
  • Максимальный размер свойства, определенный в файле описания свойства.

В настоящее время Windows Search не использует определенный размер свойства при вычислении объема данных, принимаемых из элемента. Вместо этого в Windows Search используется ограничение размера файла и MaxGrowFactor (размер файла N * MaxGrowFactor), считываемого из реестра. Значение по умолчанию MaxGrowFactor — четыре.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Gathering Manager
            MaxGrowFactor

Следовательно, если тип файла имеет небольшой общий размер, но имеет большие свойства, Windows Search может принять не все данные свойств, которые вы хотите создать. Тем не менее, вы можете увеличить в соответствии с вашими потребностями MaxGrowFactor .

Дополнительные ресурсы

Разработка обработчиков фильтров

Сведения о обработчиках фильтров в Windows Search

Рекомендации по созданию обработчиков фильтров в Windows Search

Обработчики фильтров, поставляемые с Windows

Реализация обработчиков фильтров в Windows Search

Регистрация обработчиков фильтров

Тестирование обработчиков фильтров