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 檔案總管會呼叫值為 21 for dwStartIndex的IOpenSearchSource::GetResults,而dwCount的值為 20。 當 Web 服務傳回的結果頁面少於預期的頁面大小時,Windows 檔案總管會假設它已收到結果的最後一頁,並停止提出要求。
需求
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | shobjidl_core.h (包括 Shobjidl.h) |