Функция DrtStartSearch (drt.h)

Функция DrtStartSearch ищет ключ DRT, используя условия, указанные в структуре DRT_SEARCH_INFO .

Синтаксис

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

Дескриптор DRT, возвращаемый функцией DrtOpen .

[in] pKey

Указатель на структуру DRT_DATA , содержащую ключ.

[in, optional] pInfo

Указатель на структуру DRT_SEARCH_INFO , указывающую свойства поиска.

timeout

Указывает миллисекунда, пока поиск не будет остановлен.

[in] hEvent

Обработайте событие, которое подается при завершении работы API DrtStartSearch или обнаружен промежуточный узел.

[in, optional] pvContext

Указатель на контекстные данные, передаваемые приложению через событие .

[out] hSearchContext

Дескриптор, используемый в вызове DrtEndSearch.

Возвращаемое значение

Эта функция возвращает S_OK при успешном выполнении. Другие возможные значения:

Код возврата Описание
E_HANDLE
hDrt является недопустимым дескриптором или phKeyRegistration является недопустимым дескриптором
E_INVALIDARG
  • hSearchContext имеет значение NULL.
  • pKey имеет значение NULL
  • Элемент pbструктуры DRT_DATApKey имеет значение NULL.
  • PInfo был передан, минимальный ключ задан внутри pInfo для поиска по диапазону, но максимальный ключ равен NULL.
  • PInfo был передан, максимальный ключ задан внутри pInfo для поиска по диапазону, но минимальный ключ имеет значение NULL.
DRT_E_INVALID_KEY_SIZE
  • Член cbDRT_DATA структуры pKey не равен 256 битам.
  • PInfo был передан, но размер минимального ключа, заданного внутри pInfo , не равен 256 битам.
  • PInfo был передан, но размер ключа, установленного в pInfo , не равен 256 битам.
DRT_E_INVALID_SEARCH_INFO
PInfo был передан, но dwSizepInfo не равен размеру структуры DRT_SEARCH_INFO .
DRT_E_INVALID_MAX_ENDPOINTS
pInfo был передан в , но max endpoints (cMaxEndpoints) имеет значение 0 внутри pInfo или 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
Header drt.h
Библиотека Drt.lib
DLL Drt.dll

См. также раздел

DRT_SEARCH_INFO

DrtContinueSearch

DrtEndSearch

DrtOpen