IDiaSession::findChildrenExByRVA
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 virtual relativa especificada (RVA).
Sintaxis
HRESULT findChildrenExByRVA (
IDiaSymbol* parent,
SymTagEnum symtag,
LPCOLESTR name,
DWORD compareFlags,
DWORD rva,
IDiaEnumSymbols** ppResult
);
Parámetros
parent
[in] Un objeto IDiaSymbol
que representa el elemento 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.
rva
[in] Especifica el RVA.
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 coincidan con el nombre szVarName
en la dirección rva
virtual relativa.
IDiaEnumSymbols* pEnum;
pSession->findChildrenExByRVA( pFunc, SymTagData, szVarName, nsCaseSensitive, rva, &pEnum );