DrtStartSearch 関数 (drt.h)

DrtStartSearch 関数は、DRT_SEARCH_INFO構造体で指定された条件を使用して、DRT でキーを検索します。

構文

HRESULT DrtStartSearch(
  [in]           HDRT                  hDrt,
  [in]           DRT_DATA              *pKey,
  [in, optional] const DRT_SEARCH_INFO *pInfo,
                 ULONG                 timeout,
  [in]           HANDLE                hEvent,
  [in, optional] const PVOID           pvContext,
  [out]          HDRT_SEARCH_CONTEXT   *hSearchContext
);

パラメーター

[in] hDrt

DrtOpen 関数によって返される DRT ハンドル。

[in] pKey

キーを含む DRT_DATA 構造体へのポインター。

[in, optional] pInfo

検索のプロパティを指定する DRT_SEARCH_INFO 構造体へのポインター。

timeout

検索が停止するまでのミリ秒を指定します。

[in] hEvent

DrtStartSearch API の終了時または中間ノードが見つかったときに通知されるイベントを処理します。

[in, optional] pvContext

イベントを介してアプリケーションに渡されるコンテキスト データへのポインター。

[out] hSearchContext

DrtEndSearch の呼び出しで使用されるハンドル。

戻り値

この関数は、成功したS_OKを返します。 その他の可能な値は次のとおりです。

リターン コード 説明
E_HANDLE
hDrt が無効なハンドルであるか、phKeyRegistration が無効なハンドルです
E_INVALIDARG
  • hSearchContextNULL です
  • pKeyNULL です
  • pKeyDRT_DATA構造体の pb メンバーは NULL です
  • pInfo が渡されました。範囲検索の 場合は pInfo 内に最小キーが設定されますが、最大キーは NULL です
  • pInfo が渡されました。範囲検索の場合、最大キーは pInfo 内に設定されますが、最小キーは NULL です
DRT_E_INVALID_KEY_SIZE
  • pKeyDRT_DATA構造体の cb メンバーは、256 ビットと等しくありません。
  • pInfo が渡されましたが、 pInfo 内の最小キー セットのキー サイズが 256 ビットと等しくありません。
  • pInfo が渡されましたが、 pInfo 内の最大キー セットのキー サイズは 256 ビットと等しくありません。
DRT_E_INVALID_SEARCH_INFO
pInfo が渡されましたが、pInfodwSize、DRT_SEARCH_INFO構造体のサイズと等しくありません。
DRT_E_INVALID_MAX_ENDPOINTS
pInfo が渡されましたが、最大エンドポイント (cMaxEndpoints) が pInfo 内で 0 に設定されているか、pInfo が渡されましたが、cMaxEndpoints が 1 より大きく、fAnyMatchInRangeTRUE に設定されています
DRT_E_INVALID_SEARCH_RANGE
最小キーと最大キー値は等しいですが、ターゲットは異なります。
DRT_E_FAULTED
DRT クラウドは障害状態です。
E_OUTOFMEMORY
システムがメモリ不足です。
E_UNEXPECTED
DRT がシャットダウンしています。
E_FAIL
予期しない致命的なエラーが発生しました。

要件

要件
サポートされている最小のクライアント Windows 7 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー drt.h
Library Drt.lib
[DLL] Drt.dll

こちらもご覧ください

DRT_SEARCH_INFO

DrtContinueSearch

DrtEndSearch

DrtOpen