ILoadFilter::LoadIFilter 方法 (filtereg.h)

检索并加载映射到 Shell 数据源的最合适的筛选器。

语法

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 结尾的 Unicode 字符串缓冲区的指针,该缓冲区指定要筛选的文件的路径。 此参数可以为 null。

[in] pFilteredSources

指向 FILTERED_DATA_SOURCES 结构的指针,该结构指定为其加载筛选器的 Shell 数据源的参数。 此参数不可以为 null。

[in] pUnkOuter

如果对象是作为聚合的一部分创建的,请指定指向聚合的控制 IUnknown 接口的指针。

[in] fUseDefault

如果 为 TRUE,则使用默认筛选器;如果 为 FALSE,请继续使用可用的最合适的筛选器。

[in, out] pFilterClsid

指向 CLSID (CLSID_FilterRegistration) 的指针,该 CLSID 接收返回的筛选器的类标识符。

[in, out] SearchDecSize

未实现。

[in, out] pwcsSearchDesc

未实现。

[in, out] ppIFilt

指向 LoadIFilter 选择的 IFilter 接口实现的指针 地址。

返回值

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

筛选器(也称为筛选器处理程序)是 IFilter 接口的实现。

ILoadFilter 尝试加载可以通过 pwcsPath 参数处理 pFilteredSources 参数中指定的类型的 Shell 数据源的筛选器。如果未找到数据源的相应筛选器,并且 fUseDefaultfalse,则此方法在 ppIFilt 参数中返回 null。 如果未找到数据源的相应筛选器,并且 fUseDefaulttrue,则默认 IFilter 上的 IFilter 接口将在 ppIFilt 参数中返回。

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 filtereg.h
Library 适用于 CLSID_FilterRegistration) 的 SearchSDK.lib (

另请参阅

ILoadFilter