IDiaSession::findChildren

Récupère tous les enfants d’un identificateur parent spécifié qui correspondent au nom et au type de symbole.

Syntaxe

HRESULT findChildren ( 
   IDiaSymbol*       parent,
   SymTagEnum        symtag,
   LPCOLESTR         name,
   DWORD             compareFlags,
   IDiaEnumSymbols** ppResult
);

Paramètres

parent

[in] Objet IDiaSymbol représentant le parent. Si ce symbole parent est une fonction, un module ou un bloc, ses enfants lexicaux sont retournés dans ppResult. Si le symbole parent est un type, ses enfants de classe sont retournés. Si ce paramètre est NULL, symtag doit être défini sur SymTagExe ou SymTagNull, qui retourne l’étendue globale (fichier.exe).

symtag

[in] Spécifie la balise de symbole des enfants à récupérer. Les valeurs sont extraites de l’énumération SymTagEnum Enumeration. Définissez sur SymTagNull pour récupérer tous les enfants.

name

[in] Spécifie le nom des enfants à récupérer. Définissez sur NULL pour tous les éléments enfants à récupérer.

compareFlags

[in] Spécifie les options de comparaison appliquées à la correspondance de noms. Les valeurs de l’énumération NameSearchOptions Enumeration peuvent être utilisées seules ou en combinaison.

ppResult

[out] Renvoie un objet IDiaEnumSymbols qui contient la liste des symboles enfants récupérés.

Valeur renvoyée

En cas de réussite, retourne S_OK , sinon, retourne un code d'erreur.

Exemple

L’exemple suivant montre comment rechercher des variables locales de fonction pFunc qui correspondent au nom szVarName.

IDiaEnumSymbols* pEnum;
pSession->findChildren( pFunc, SymTagData, szVarName, nsCaseSensitive, &pEnum );

Voir aussi