Поделиться через


Метод ILoadFilter::LoadIFilter (filtereg.h)

Извлекает и загружает наиболее подходящий фильтр, сопоставленный с источником данных оболочки.

Синтаксис

HRESULT LoadIFilter(
  [in]      LPCWSTR               pwcsPath,
  [in]      FILTERED_DATA_SOURCES *pFilteredSources,
  [in]      IUnknown              *pUnkOuter,
  [in]      BOOL                  fUseDefault,
  [in, out] CLSID                 *pFilterClsid,
  [in, out] int                   *SearchDecSize,
  [in, out] WCHAR                 **pwcsSearchDesc,
  [in, out] IFilter               **ppIFilt
);

Параметры

[in] pwcsPath

Указатель на буфер строки Юникода с разделителями-запятыми, заканчивающийся null, который указывает путь к файлу для фильтрации. Этот параметр может быть нулевым.

[in] pFilteredSources

Указатель на структуру FILTERED_DATA_SOURCES , указывающую параметры для источника данных оболочки, для которого загружается фильтр. Этот параметр не может быть пустым.

[in] pUnkOuter

Если объект создается как часть агрегата, укажите указатель на управляющий интерфейс IUnknown агрегата.

[in] fUseDefault

Если задано значение TRUE, используйте фильтр по умолчанию; Если значение FALSE, перейдите к наиболее подходящему из доступных фильтров.

[in, out] pFilterClsid

Указатель на ИДЕНТИФИКАТОР CLSID (CLSID_FilterRegistration), получающий идентификатор класса возвращаемого фильтра.

[in, out] SearchDecSize

Не реализован.

[in, out] pwcsSearchDesc

Не реализован.

[in, out] ppIFilt

Адрес указателя на реализацию интерфейса IFilter , выбранного LoadIFilter .

Возвращаемое значение

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Фильтр, также известный как обработчик фильтра, является реализацией интерфейса IFilter .

ILoadFilter пытается загрузить фильтр, который может обрабатывать источник данных оболочки типа, указанного в параметре pFilteredSources , с помощью параметра pwcsPath . Если соответствующий фильтр для источника данных не найден, а fUseDefault имеет значение false, этот метод возвращает значение NULL в параметре ppIFilt . Если соответствующий фильтр для источника данных не найден и fUseDefault имеет значение true, интерфейс IFilter по умолчанию IFilter возвращается в параметре ppIFilt .

Требования

Требование Значение
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Целевая платформа Windows
Header filtereg.h
Библиотека SearchSDK.lib (для CLSID_FilterRegistration)

См. также раздел

ILoadFilter