IDiaSession::findChildrenExByVA
Pobiera wszystkie elementy podrzędne określonego identyfikatora nadrzędnego, które są zgodne z nazwą i typem symboli, w tym zoptymalizowanymi ustawieniami lokalnymi, które zawierają określony adres wirtualny (VA, virtual address).
Składnia
HRESULT findChildrenExByVA (
IDiaSymbol* parent,
SymTagEnum symtag,
LPCOLESTR name,
DWORD compareFlags,
ULONGLONG va,
IDiaEnumSymbols** ppResult
);
Parametry
parent
[in] Obiekt IDiaSymbol 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
va
[in] Określa adres wirtualny.
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 adresem va
wirtualnym .
IDiaEnumSymbols* pEnum;
pSession->findChildrenExByVA( pFunc, SymTagData, szVarName, nsCaseSensitive, va, &pEnum );