共用方式為


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 dwStartIndexIOpenSearchSource::GetResults,而dwCount的值為 20。 當 Web 服務傳回的結果頁面少於預期的頁面大小時,Windows 檔案總管會假設它已收到結果的最後一頁,並停止提出要求。

需求

   
最低支援的用戶端 Windows 7 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限傳統型應用程式]
目標平台 Windows
標頭 shobjidl_core.h (包括 Shobjidl.h)

另請參閱

IOpenSearchSource