次の方法で共有


IOpenSearchSource::GetResults メソッド (shobjidl_core.h)

RSS または Atom 形式で書式設定された OpenSearch データ ソースから検索結果を返します。

構文

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**

ATOM または RSS 形式の結果を含むオブジェクトへの、RIID で指定された型のインターフェイス ポインター。

戻り値

種類: 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} パラメーターと同じです。 Count は、OpenSearch {count} パラメーターと同等で、1 ページあたりに返される予想されるアイテム数または優先アイテム数を識別します。

Web サービスが結果の最初のページで 20 個のアイテムを返す場合、予想されるページ サイズは 20 です。 次の 20 個のアイテムを取得するために、Windows エクスプローラーは、dwStartIndex の場合は値 21、dwCount の場合は値が 20 の IOpenSearchSource::GetResults を呼び出します。 Web サービスによって返される結果のページのアイテムが予想されるページ サイズより少ない場合、Windows エクスプローラーは、結果の最後のページを受信したと見なし、要求を停止します。

要件

   
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shobjidl_core.h (Shobjidl.h を含む)

関連項目

IOpenSearchSource