다음을 통해 공유


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가 전달되었지만 pInfodwSizeDRT_SEARCH_INFO 구조체의 크기와 같지 않습니다.
DRT_E_INVALID_MAX_ENDPOINTS
pInfo가 전달되었지만 최대 엔드포인트(cMaxEndpoints)는 pInfo 내에서 0으로 설정되었거나 pInfo가 전달되었지만 cMaxEndpointsfAnyMatchInRangeTRUE로 설정된 1보다 큽니다.
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
라이브러리 Drt.lib
DLL Drt.dll

추가 정보

DRT_SEARCH_INFO

DrtContinueSearch

DrtEndSearch

DrtOpen