IDiaSession::findChildrenExByRVA
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 virtuale relativo specificato.
Sintassi
HRESULT findChildrenExByRVA (
IDiaSymbol* parent,
SymTagEnum symtag,
LPCOLESTR name,
DWORD compareFlags,
DWORD rva,
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.
rva
[in] Specifica l'RVA.
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
in corrispondenza dell'indirizzo rva
virtuale relativo.
IDiaEnumSymbols* pEnum;
pSession->findChildrenExByRVA( pFunc, SymTagData, szVarName, nsCaseSensitive, rva, &pEnum );