IDiaSession::findChildren
Pobiera wszystkie elementy podrzędne określonego identyfikatora nadrzędnego zgodnego z nazwą i typem symbolu.
Składnia
HRESULT findChildren (
IDiaSymbol* parent,
SymTagEnum symtag,
LPCOLESTR name,
DWORD compareFlags,
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 (plik exe).
symtag
[in] Określa tag symbolu elementów podrzędnych do pobrania. Wartości są pobierane z wyliczenia SymTagEnum. 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 NameSearchOptions mogą być używane samodzielnie lub w połączeniu.
ppResult
[out] Zwraca obiekt IDiaEnumSymbols 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->findChildren( pFunc, SymTagData, szVarName, nsCaseSensitive, &pEnum );