IProtocolHandlerSite::GetFilter 方法 (searchapi.h)

根据提供的参数检索相应的 IFilter

语法

HRESULT GetFilter(
  [in]  CLSID   *pclsidObj,
  [in]  LPCWSTR pcwszContentType,
  [in]  LPCWSTR pcwszExtension,
  [out] IFilter **ppFilter
);

参数

[in] pclsidObj

类型: CLSID*

指向注册表中文档类型的 CLSID 的指针。 这用于具有嵌入文档的项,以指示要用于该嵌入文档的相应 IFilter

[in] pcwszContentType

类型: LPCWSTR

指向包含文档类型的以 null 结尾的 Unicode 字符串的指针。 这用于检索根据 MIME 类型映射的 IFilter

[in] pcwszExtension

类型: LPCWSTR

指向以 null 结尾的 Unicode 字符串的指针,该字符串包含文件扩展名(不带上一句点)。 这用于检索根据文件扩展名映射的 IFilter 对象。

[out] ppFilter

类型: IFilter**

接收指向协议处理程序使用的 IFilter 的指针的地址。

返回值

类型: HRESULT

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

注解

此方法查询筛选器主机以标识要用于 URL 项的相应 IFilter 对象。

筛选器的选择基于文件扩展名、标识注册表中文件的内容类型的 CLSID 或 MIME 内容类型。 只需为此方法提供三个参数中的一个。 如果提供多个参数,则按以下顺序对其进行测试: pcwszContentTypepclsidObjpcwszExtension。 第一个有效参数用于选择适当的 IFilter;忽略其他项。

要求

要求
最低受支持的客户端 Windows XP SP2、Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 SP1 [仅限桌面应用]
目标平台 Windows
标头 searchapi.h
可再发行组件 Windows 桌面搜索 (WDS) 3.0