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