IDiaSession::findChildrenExByRVA
Pobiera wszystkie elementy podrzędne określonego identyfikatora nadrzędnego, które są zgodne z nazwą i typem symbolu, w tym zoptymalizowanymi ustawieniami lokalnymi, które zawierają lub znajdują się najbliżej określonego względnego adresu wirtualnego (RVA).
Składnia
HRESULT findChildrenExByRVA (
IDiaSymbol* parent,
SymTagEnum symtag,
LPCOLESTR name,
DWORD compareFlags,
DWORD rva,
IDiaEnumSymbols** ppResult
);
Parametry
parent
[in] IDiaSymbol
Obiekt reprezentujący obiekt nadrzędny. Jeśli ten symbol nadrzędny jest funkcją, modułem lub blokiem, jego elementy podrzędne leksykalne są zwracane w elemecie ppResult
. Jeśli symbol nadrzędny jest typem, zwracane są jego elementy podrzędne klasy. Jeśli ten parametr ma NULL
wartość , symtag
należy ustawić SymTagExe
wartość lub SymTagNull
, która zwraca zakres globalny (.exe pliku).
symtag
[in] Określa tag symbolu elementów podrzędnych do pobrania. Wartości są pobierane z SymTagEnum
wyliczenia Enumeration . Ustaw wartość na , aby SymTagNull
pobrać wszystkie elementy podrzędne.
name
[in] Określa nazwę elementów podrzędnych do pobrania. Ustaw wartość na NULL
dla wszystkich elementów podrzędnych, które mają zostać pobrane.
compareFlags
[in] Określa opcje porównania zastosowane do dopasowania nazw. Wartości z wyliczenia Wyliczenia mogą być używane samodzielnie lub w połączeniu.NameSearchOptions
rva
[in] Określa RVA.
ppResult
[out] IDiaEnumSymbols
Zwraca obiekt zawierający listę pobranych symboli podrzędnych.
Wartość zwracana
Jeśli operacja powiedzie się, zwraca wartość S_OK
; w przeciwnym razie zwraca kod błędu.
Przykład
W poniższym przykładzie pokazano, jak znaleźć lokalne zmienne funkcji pFunc
, które pasują do nazwy szVarName
pod względnym adresem rva
wirtualnym .
IDiaEnumSymbols* pEnum;
pSession->findChildrenExByRVA( pFunc, SymTagData, szVarName, nsCaseSensitive, rva, &pEnum );