IDiaSession::findChildrenExByAddr
Recupera tutti gli elementi figlio di un identificatore padre specificato che corrispondono al nome e al tipo di simbolo, incluse le variabili locali ottimizzate, che contengono o sono più vicini a un indirizzo specificato.
Sintassi
HRESULT findChildrenExByAddr (
IDiaSymbol* parent,
SymTagEnum symtag,
LPCOLESTR name,
DWORD compareFlags,
DWORD isect,
DWORD offset,
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
, deve symtag
essere impostato su SymTagExe
o SymTagNull
, che restituisce l'ambito globale (.exe file).
symtag
[in] Specifica il tag simbolo degli elementi figlio da recuperare. I valori vengono ricavati dall'enumerazione SymTagEnum
Enumeration . 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
Enumeration possono essere usati da soli o in combinazione.
isect
[in] Specifica il componente della sezione dell'indirizzo.
offset
[in] Specifica il componente offset dell'indirizzo.
ppResult
[out] Restituisce un IDiaEnumSymbols
oggetto che contiene l'elenco di 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 le variabili locali della funzione pFunc
che corrispondono al nome szVarName
e si trovano all'indirizzo isect:offset
.
IDiaEnumSymbols* pEnum;
pSession->findChildrenExByAddr( pFunc, SymTagData, szVarName, nsCaseSensitive, isect, offset, &pEnum );