Partilhar via


IDiaSession::findChildrenExByVA

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 VA (endereço virtual) especificado.

Sintaxe

HRESULT findChildrenExByVA (
   IDiaSymbol*       parent,
   SymTagEnum        symtag,
   LPCOLESTR         name,
   DWORD             compareFlags,
   ULONGLONG         va,
   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.

va

[in] Especifica o endereço virtual.

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 no endereço vavirtual.

IDiaEnumSymbols* pEnum;
pSession->findChildrenExByVA( pFunc, SymTagData, szVarName, nsCaseSensitive, va, &pEnum );

Confira também