IDiaSession::findChildrenEx
Pobiera wszystkie elementy podrzędne określonego identyfikatora nadrzędnego, które są zgodne z nazwą i typem symboli, w tym zoptymalizowanymi ustawieniami lokalnymi.
Składnia
HRESULT findChildrenEx (
IDiaSymbol* parent,
SymTagEnum symtag,
LPCOLESTR name,
DWORD compareFlags,
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
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źć zmienne lokalne funkcji pFunc
, które pasują do nazwy szVarName
.
IDiaEnumSymbols* pEnum;
pSession->findChildrenEx( pFunc, SymTagData, szVarName, nsCaseSensitive, &pEnum );