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) 设置为 0,或 pInfo 已传入,但 cMaxEndpoints 大于 1 fAnyMatchInRange 设置为 TRUE
DRT_E_INVALID_SEARCH_RANGE
最小和最大键值相等,但目标不同。
DRT_E_FAULTED
DRT 云处于故障状态。
E_OUTOFMEMORY
系统内存不足。
E_UNEXPECTED
DRT 正在关闭。
E_FAIL
发生意外的致命错误。

要求

要求
最低受支持的客户端 Windows 7 专业版 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 drt.h
Library Drt.lib
DLL Drt.dll

另请参阅

DRT_SEARCH_INFO

DrtContinueSearch

DrtEndSearch

DrtOpen