IOpenSearchSource::GetResults 方法 (shobjidl_core.h)
从 OpenSearch 数据源返回以 RSS 或 Atom 格式设置格式的搜索结果。
语法
HRESULT GetResults(
[in] HWND hwnd,
[in] LPCWSTR pszQuery,
[in] DWORD dwStartIndex,
[in] DWORD dwCount,
[in] REFIID riid,
[out] void **ppv
);
参数
[in] hwnd
类型:HWND
调用方窗口句柄。
[in] pszQuery
类型: LPCWSTR
用户输入的查询。 此参数等效于 OpenSearch {searchTerms} 参数,可以为空。
[in] dwStartIndex
类型:DWORD
所请求的第一个结果的索引。 等效于 OpenSearch {startIndex} 参数。 请参阅下面的备注。
[in] dwCount
类型:DWORD
请求的结果数。 等效于 OpenSearch {count} 参数。
[in] riid
类型: REFIID
正在请求的接口的 IID。 通常IID_IStream。
[out] ppv
类型: void**
一个由 RIID 指定的类型的接口指针,指向包含 Atom 或 RSS 格式的结果的 对象。
返回值
类型: HRESULT
如果成功,则返回 S_OK,否则返回错误值。 可以选择B_S_ENDOFROWSET表示结果的结束。 以下错误在信息栏中显示相应的错误消息:
- INET_E_AUTHENTICATION_REQUIRED (用户无权访问此资源)
- INET_E_RESOURCE_NOT_FOUND (位置不可用)
- INET_E_DOWNLOAD_FAILURE (服务器错误)
注解
Windows 资源管理器使用搜索查询参数调用此方法。 IOpenSearchSource 实现在执行所需操作(例如提供自定义身份验证 UI 或使用专有 API 连接到数据源)后返回部分或全部结果。
分页结果
如果不希望 Web 服务每次请求返回超过有限数量的结果,此方法一次只能返回结果的“页”。 Windows 资源管理器可以通过重复调用此方法并指定新的索引号来获取其他结果页。 返回结果时,第一个结果必须是 dwStartIndex 请求的索引处的结果。索引数字和计数
索引号标识结果页上的第一个结果。 它等效于 OpenSearch {startIndex} 参数。 计数等效于 OpenSearch {count} 参数,标识每页返回的预期或首选项数。如果 Web 服务在结果的第一页上返回 20 个项,则预期页面大小为 20。 若要获取接下来的 20 个项目,Windows 资源管理器将调用 IOpenSearchSource::GetResults ,对于 dwStartIndex ,值为 21,对于 dwCount,值为 20。 当 Web 服务返回的结果页的项目数少于预期的页面大小时,Windows 资源管理器会假定它已收到最后一页的结果,并且停止发出请求。
要求
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | shobjidl_core.h (包括 Shobjidl.h) |