DrtStartSearch, fonction (drt.h)

La fonction DrtStartSearch recherche une clé dans la DRT à l’aide de critères spécifiés dans la structure DRT_SEARCH_INFO .

Syntaxe

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

Paramètres

[in] hDrt

Handle DRT retourné par la fonction DrtOpen .

[in] pKey

Pointeur vers la structure DRT_DATA contenant la clé.

[in, optional] pInfo

Pointeur vers la structure DRT_SEARCH_INFO qui spécifie les propriétés de la recherche.

timeout

Spécifie les millisecondes jusqu’à l’arrêt de la recherche.

[in] hEvent

Gérez l’événement signalé lorsque l’API DrtStartSearch se termine ou qu’un nœud intermédiaire est trouvé.

[in, optional] pvContext

Pointeur vers les données de contexte passées à l’application via l’événement .

[out] hSearchContext

Handle utilisé dans l’appel à DrtEndSearch.

Valeur retournée

Cette fonction retourne S_OK en cas de réussite. D’autres valeurs possibles sont les suivantes :

Code de retour Description
E_HANDLE
hDrt est un handle non valide ou phKeyRegistration est un handle non valide
E_INVALIDARG
  • hSearchContext a la valeur NULL.
  • pKey a la valeur NULL
  • Le membre pb de la structure DRT_DATA de pKey est NULL.
  • pInfo a été passé, la clé minimale est définie à l’intérieur de pInfo pour la recherche par plage, mais la clé maximale est NULL.
  • pInfo a été passé, la clé maximale est définie à l’intérieur de pInfo pour la recherche par plage, mais la clé minimale est NULL.
DRT_E_INVALID_KEY_SIZE
  • Le membre cb de la structure DRT_DATA de pKey n’est pas égal à 256 bits.
  • pInfo a été transmis, mais la taille de clé minimale définie à l’intérieur de pInfo n’est pas égale à 256 bits.
  • pInfo a été passé, mais la taille de clé maximale définie à l’intérieur de pInfo n’est pas égale à 256 bits.
DRT_E_INVALID_SEARCH_INFO
pInfo a été passé, mais le dwSize de pInfo n’est pas égal à la taille de la structure DRT_SEARCH_INFO .
DRT_E_INVALID_MAX_ENDPOINTS
pInfo a été passé dans, mais le nombre maximal de points de terminaison (cMaxEndpoints) est défini sur 0 à l’intérieur de pInfo ou pInfo a été transmis, mais cMaxEndpoints est supérieur à 1 avec fAnyMatchInRange défini sur TRUE
DRT_E_INVALID_SEARCH_RANGE
Les valeurs de clé minimale et maximale sont égales, mais la cible est différente.
DRT_E_FAULTED
Le cloud DRT est à l’état défectueux.
E_OUTOFMEMORY
Le système est en mémoire insuffisante.
E_UNEXPECTED
La DRT s’arrête.
E_FAIL
Une erreur irrécupérable inattendue s’est produite.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête drt.h
Bibliothèque Drt.lib
DLL Drt.dll

Voir aussi

DRT_SEARCH_INFO

DrtContinueSearch

DrtEndSearch

DrtOpen