Partager via


Méthode ITypeLib ::FindName (oaidl.h)

Recherche les occurrences d’une description de type dans une bibliothèque de types. Cela peut être utilisé pour vérifier rapidement qu’un nom existe dans une bibliothèque de types.

Syntaxe

HRESULT FindName(
  [in, out] LPOLESTR  szNameBuf,
  [in]      ULONG     lHashVal,
  [out]     ITypeInfo **ppTInfo,
  [out]     MEMBERID  *rgMemId,
  [in, out] USHORT    *pcFound
);

Paramètres

[in, out] szNameBuf

Nom à rechercher.

[in] lHashVal

Valeur de hachage pour accélérer la recherche, calculée par la fonction LHashValOfNameSys . Si lHashVal = 0, une valeur est calculée.

[out] ppTInfo

Tableau de pointeurs vers les descriptions de type qui contiennent le nom spécifié dans szNameBuf. Ce paramètre ne peut pas être null.

[out] rgMemId

Tableau des éléments trouvés ; rgMemId[i] est le MEMBERID qui s’indexe dans la description de type spécifiée par ppTInfo[i]. Ce paramètre ne peut pas être null.

[in, out] pcFound

À l’entrée, indique combien d’instances sont à rechercher. Par exemple, *pcFound = 1 peut être appelé pour rechercher la première occurrence. La recherche s’arrête quand un est trouvé.

En quittant, indique le nombre d’instances trouvées. Si les valeurs in et out de *pcFound sont identiques, il peut y avoir d’autres descriptions de type qui contiennent le nom.

Valeur retournée

Cette méthode peut retourner l’une de ces valeurs.

Code de retour Description
S_OK
Réussite.
E_INVALIDARG
Un ou plusieurs arguments ne sont pas valides.
E_OUTOFMEMORY
Mémoire insuffisante pour terminer l’opération.

Remarques

Le passage de *pcFound = n indique qu’il y a suffisamment d’espace dans les tableaux ppTInfo et rgMemId pour n paires (ptinfo, memid). La fonction retourne MEMBERID_NIL dans rgMemId[i], si le nom dans szNameBuf est le nom des informations de type dans ppTInfo[i].

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête oaidl.h

Voir aussi

ITypeLib