Funzione DrtStartSearch (drt.h)

La funzione DrtStartSearch cerca la chiave DRT usando criteri specificati nella struttura DRT_SEARCH_INFO .

Sintassi

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

Parametri

[in] hDrt

Handle DRT restituito dalla funzione DrtOpen .

[in] pKey

Puntatore alla struttura DRT_DATA contenente la chiave.

[in, optional] pInfo

Puntatore alla struttura DRT_SEARCH_INFO che specifica le proprietà della ricerca.

timeout

Specifica i millisecondi fino a quando la ricerca non viene arrestata.

[in] hEvent

Gestire l'evento segnalato al termine dell'API DrtStartSearch o a un nodo intermedio.

[in, optional] pvContext

Puntatore ai dati del contesto passati all'applicazione tramite l'evento.

[out] hSearchContext

Handle usato nella chiamata a DrtEndSearch.

Valore restituito

Questa funzione restituisce S_OK in caso di esito positivo. Altri valori possibili includono:

Codice restituito Descrizione
E_HANDLE
hDrt è un handle non valido o phKeyRegistration è un handle non valido
E_INVALIDARG
  • hSearchContext è NULL.
  • pKey è NULL
  • Il membro pb della struttura DRT_DATA di pKey è NULL.
  • pInfo è stato passato, la chiave minima è impostata all'interno di pInfo per la ricerca di intervalli, ma la chiave massima è NULL.
  • pInfo è stato passato, la chiave massima è impostata all'interno di pInfo per la ricerca di intervalli, ma la chiave minima è NULL.
DRT_E_INVALID_KEY_SIZE
  • Il membro cb della struttura DRT_DATAdi pKey non è uguale a 256 bit.
  • pInfo è stato passato, ma la dimensione della chiave minima impostata all'interno di pInfo non è uguale a 256 bit.
  • pInfo è stato passato, ma la dimensione della chiave massima impostata all'interno di pInfo non è uguale a 256 bit.
DRT_E_INVALID_SEARCH_INFO
pInfo è stato passato, ma la dwSize di pInfo non è uguale alle dimensioni della struttura DRT_SEARCH_INFO .
DRT_E_INVALID_MAX_ENDPOINTS
pInfo è stato passato, ma max endpoint (cMaxEndpoints) è impostato su 0 all'interno di pInfo o pInfo è stato passato, ma cMaxEndpoints è maggiore di 1 con fAnyMatchInRange impostato su TRUE
DRT_E_INVALID_SEARCH_RANGE
I valori min e max key sono uguali, ma la destinazione è diversa.
DRT_E_FAULTED
Il cloud DRT si trova nello stato di errore.
E_OUTOFMEMORY
Il sistema non è in memoria.
E_UNEXPECTED
DRT sta arrestando.
E_FAIL
Si è verificato un errore irreversibile imprevisto.

Requisiti

Requisito Valore
Client minimo supportato Windows 7 Professional [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione drt.h
Libreria Drt.lib
DLL Drt.dll

Vedi anche

DRT_SEARCH_INFO

DrtContinueSearch

DrtEndSearch

DrtOpen