IDiaSession::findChildren
Recupera todos los elementos secundarios de un identificador primario especificado que coinciden con el nombre y el tipo de símbolo.
Sintaxis
HRESULT findChildren (
IDiaSymbol* parent,
SymTagEnum symtag,
LPCOLESTR name,
DWORD compareFlags,
IDiaEnumSymbols** ppResult
);
Parámetros
parent
[in] Objeto IDiaSymbol que representa el símbolo primario. Si este símbolo primario es una función, módulo o bloque, sus elementos secundarios léxicos se devuelven en ppResult
. Si el símbolo primario es un tipo, se devuelven sus elementos secundarios de clase. Si este parámetro es NULL
, symtag
debe establecerse en SymTagExe
o SymTagNull
, para que devuelva el ámbito global (archivo .exe).
symtag
[in] Especifica la etiqueta del símbolo de los elementos secundarios que se van a recuperar. Los valores se toman de la enumeración SymTagEnum. Establézcalo en SymTagNull
para recuperar todos los elementos secundarios.
name
[in] Especifica el nombre de los elementos secundarios que se van a recuperar. Establézcalo en NULL
para que se recuperen todos los elementos secundarios.
compareFlags
[in] Especifica las opciones de comparación aplicadas a la coincidencia de nombres. Los valores de la enumeración NameSearchOptions se pueden usar solo o en combinación.
ppResult
[out] Devuelve un objeto IDiaEnumSymbols que contiene la lista de los símbolos secundarios recuperados.
Valor devuelto
Si la operación se realiza correctamente, devuelve S_OK
; de lo contrario, devuelve un código de error.
Ejemplo
En el ejemplo siguiente se muestra cómo buscar variables locales de la función pFunc
que coincidan con el nombre szVarName
.
IDiaEnumSymbols* pEnum;
pSession->findChildren( pFunc, SymTagData, szVarName, nsCaseSensitive, &pEnum );