IDiaSession::findChildrenExByAddr
Recupera todos os filhos de um identificador pai especificado que correspondem ao nome e ao tipo de símbolo, incluindo locais otimizados, que contêm ou estão mais próximos de um endereço especificado.
Sintaxe
HRESULT findChildrenExByAddr (
IDiaSymbol* parent,
SymTagEnum symtag,
LPCOLESTR name,
DWORD compareFlags,
DWORD isect,
DWORD offset,
IDiaEnumSymbols** ppResult
);
Parâmetros
parent
[in] Um objeto IDiaSymbol que representa o pai. Se esse símbolo pai for uma função, módulo ou bloco, seus filhos léxicos serão retornados em ppResult
. Se o símbolo pai for um tipo, seus filhos de classe serão retornados. Se esse parâmetro for NULL
, symtag
deverá ser definido como SymTagExe
ou SymTagNull
, que retorna o escopo global (arquivo .exe).
symtag
[in] Especifica a marca de símbolo dos filhos a serem recuperados. Os valores são obtidos da SymTagEnum
enumeração Enumeration . Defina como SymTagNull
para recuperar todos os filhos.
name
[in] Especifica o nome dos filhos a serem recuperados. Defina como NULL
para que todos os filhos sejam recuperados.
compareFlags
[in] Especifica as opções de comparação aplicadas à correspondência de nomes. Os valores da NameSearchOptions
enumeração Enumeração podem ser usados sozinhos ou em combinação.
isect
[in] Especifica o componente de seção do endereço.
offset
[in] Especifica o componente de deslocamento do endereço.
ppResult
[fora] Retorna um IDiaEnumSymbols
objeto que contém a lista de símbolos filho recuperados.
Valor de retorno
Se tiver êxito, retornará S_OK
. Caso contrário, retornará um código de erro.
Exemplo
O exemplo a seguir mostra como localizar variáveis locais de função pFunc
que correspondem ao nome szVarName
e estão no endereço isect:offset
.
IDiaEnumSymbols* pEnum;
pSession->findChildrenExByAddr( pFunc, SymTagData, szVarName, nsCaseSensitive, isect, offset, &pEnum );