DrtStartSearch, fonction (drt.h)

La fonction DrtStartSearch recherche une clé 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’à ce que la recherche soit arrêtée.

[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 transmises à 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. Les 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 de plages, mais la clé maximale est NULL.
  • pInfo a été passé, la clé maximale est définie à l’intérieur de pInfo pour la recherche de 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 la clé minimale définie à l’intérieur de pInfo n’est pas égale à 256 bits.
  • pInfo a été transmis, mais la taille de la 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 la taille dwSize de pInfo n’est pas égale à la taille de la structure DRT_SEARCH_INFO .
DRT_E_INVALID_MAX_ENDPOINTS
pInfo a été passé mais les points de terminaison max (cMaxEndpoints) sont définis 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 dans l’état d’erreur.
E_OUTOFMEMORY
Le système est hors mémoire.
E_UNEXPECTED
La DRT s’arrête.
E_FAIL
Une erreur irrécupérable inattendue s’est produite.

Configuration requise

   
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