Condividi tramite


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 rvavirtuale relativo.

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

Vedi anche