Compartir vía


IDiaSession::findChildrenExByAddr

Recupera todos los elementos secundarios de un identificador primario especificado que coinciden con el nombre y el tipo de símbolo, incluidas las variables locales optimizadas, que contienen o están más cercanas a una dirección especificada.

Sintaxis

HRESULT findChildrenExByAddr (
   IDiaSymbol*       parent,
   SymTagEnum        symtag,
   LPCOLESTR         name,
   DWORD             compareFlags,
   DWORD             isect,
   DWORD             offset,
   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 SymTagEnum enumeración Enumeración . 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 NameSearchOptions enumeración Enumeration se pueden usar solos o en combinación.

isect

[in] Especifica el componente de sección de la dirección.

offset

[in] Especifica el componente de desplazamiento de la dirección.

ppResult

[out] Devuelve un IDiaEnumSymbols objeto que contiene la lista de 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 función pFunc que coinciden con el nombre szVarName y están en la dirección isect:offset.

IDiaEnumSymbols* pEnum;
pSession->findChildrenExByAddr( pFunc, SymTagData, szVarName, nsCaseSensitive, isect, offset, &pEnum );

Consulte también