Udostępnij za pośrednictwem


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 NULLwartość , 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 rvawirtualnym .

IDiaEnumSymbols* pEnum;
pSession->findChildrenExByRVA( pFunc, SymTagData, szVarName, nsCaseSensitive, rva, &pEnum );

Zobacz też