Função DrtStartSearch (drt.h)

A função DrtStartSearch pesquisa uma chave no DRT usando critérios especificados na estrutura DRT_SEARCH_INFO .

Sintaxe

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
);

Parâmetros

[in] hDrt

O identificador DRT retornado pela função DrtOpen .

[in] pKey

Ponteiro para a estrutura DRT_DATA que contém a chave.

[in, optional] pInfo

Ponteiro para a estrutura DRT_SEARCH_INFO que especifica as propriedades da pesquisa.

timeout

Especifica os milissegundos até que a pesquisa seja interrompida.

[in] hEvent

Manipule para o evento que é sinalizado quando a API DrtStartSearch é concluída ou um nó intermediário é encontrado.

[in, optional] pvContext

Ponteiro para os dados de contexto passados para o aplicativo por meio do evento .

[out] hSearchContext

Identificador usado na chamada para DrtEndSearch.

Retornar valor

Essa função retorna S_OK em caso de êxito. Outros valores possíveis incluem:

Código de retorno Descrição
E_HANDLE
hDrt é um identificador inválido ou phKeyRegistration é um identificador inválido
E_INVALIDARG
  • hSearchContext é NULL.
  • pKey é NULL
  • O membro pb da estrutura DRT_DATA de pKey é NULL.
  • pInfo foi passado, a chave mínima é definida dentro de pInfo para pesquisa de intervalo, mas a chave máxima é NULL.
  • pInfo foi passado, a chave máxima é definida dentro de pInfo para pesquisa de intervalo, mas a chave mínima é NULL.
DRT_E_INVALID_KEY_SIZE
  • O membro cb da estrutura DRT_DATA de pKey não é igual a 256 bits.
  • pInfo foi passado, mas o tamanho da chave mínima definida dentro de pInfo não é igual a 256 bits.
  • pInfo foi passado, mas o tamanho da chave máxima definida dentro de pInfo não é igual a 256 bits.
DRT_E_INVALID_SEARCH_INFO
pInfo foi passado, mas o dwSize de pInfo não é igual ao tamanho da estrutura DRT_SEARCH_INFO .
DRT_E_INVALID_MAX_ENDPOINTS
pInfo foi passado, mas o máximo de pontos de extremidade (cMaxEndpoints) é definido como 0 dentro de pInfo ou pInfo foi passado, mas cMaxEndpoints é maior que 1 com fAnyMatchInRange definido como TRUE
DRT_E_INVALID_SEARCH_RANGE
Valores mínimos e máximos de chave são iguais, mas o destino é diferente.
DRT_E_FAULTED
A nuvem DRT está no estado com falha.
E_OUTOFMEMORY
O sistema está sem memória.
E_UNEXPECTED
O DRT está sendo desligado.
E_FAIL
Ocorreu um erro fatal inesperado.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho drt.h
Biblioteca Drt.lib
DLL Drt.dll

Confira também

DRT_SEARCH_INFO

DrtContinueSearch

DrtEndSearch

DrtOpen