IDiaSession::findChildrenExByAddr
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ą lub znajdują się najbliżej określonego adresu.
Składnia
HRESULT findChildrenExByAddr (
IDiaSymbol* parent,
SymTagEnum symtag,
LPCOLESTR name,
DWORD compareFlags,
DWORD isect,
DWORD offset,
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
isect
[in] Określa składnik sekcji adresu.
offset
[in] Określa składnik przesunięcia adresu.
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
i są pod adresem isect:offset
.
IDiaEnumSymbols* pEnum;
pSession->findChildrenExByAddr( pFunc, SymTagData, szVarName, nsCaseSensitive, isect, offset, &pEnum );