IDiaSession::findChildren
Recupera tutti gli elementi figlio di un identificatore padre specificato che corrispondono al nome e al tipo di simbolo.
Sintassi
HRESULT findChildren (
IDiaSymbol* parent,
SymTagEnum symtag,
LPCOLESTR name,
DWORD compareFlags,
IDiaEnumSymbols** ppResult
);
Parametri
parent
[in] Oggetto IDiaSymbol che rappresenta l'elemento padre. Se questo simbolo padre è una funzione, un modulo o un blocco, i relativi figli lessicali vengono restituiti in ppResult
. Se il simbolo padre è un tipo, vengono restituiti i relativi elementi figlio della classe. Se questo parametro è NULL
, symtag
deve essere impostato su SymTagExe
o SymTagNull
, che restituisce l'ambito globale (file con estensione exe).
symtag
[in] Specifica il tag simbolo degli elementi figlio da recuperare. I valori vengono ricavati dall'enumerazione SymTagEnum. Impostare su SymTagNull
per recuperare tutti gli elementi figlio.
name
[in] Specifica il nome degli elementi figlio da recuperare. Impostare su NULL
per tutti gli elementi figlio da recuperare.
compareFlags
[in] Specifica le opzioni di confronto applicate alla corrispondenza dei nomi. I valori dell'enumerazione NameSearchOptions possono essere usati da soli o in combinazione.
ppResult
[out] Restituisce un oggetto IDiaEnumSymbols che contiene l'elenco dei simboli figlio recuperati.
Valore restituito
Se ha esito positivo, restituisce S_OK
; in caso contrario, restituisce un codice di errore.
Esempio
Nell'esempio seguente viene illustrato come trovare variabili locali della funzione pFunc
che corrispondono al nome szVarName
.
IDiaEnumSymbols* pEnum;
pSession->findChildren( pFunc, SymTagData, szVarName, nsCaseSensitive, &pEnum );