Partilhar via


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 );

Confira também