IDiaSession::findChildren
Извлекает все дочерние элементы указанного родительского идентификатора, соответствующего имени и типу символов.
Синтаксис
HRESULT findChildren (
IDiaSymbol* parent,
SymTagEnum symtag,
LPCOLESTR name,
DWORD compareFlags,
IDiaEnumSymbols** ppResult
);
Параметры
parent
[in] Объект IDiaSymbol , представляющий родительский объект. Если этот родительский символ является функцией, модулем или блоком, возвращаются ppResult
его лексические дочерние элементы. Если родительский символ является типом, возвращаются его дочерние элементы класса. Если этот параметр имеет значениеNULL
, symtag
то необходимо задать SymTagExe
значение или SymTagNull
, которое возвращает глобальный область (EXE-файл).
symtag
[in] Указывает тег символа извлекаемых дочерних элементов. Значения взяты из перечисления перечисления SymTagEnum. Установите для SymTagNull
извлечения всех дочерних элементов.
name
[in] Указывает имя извлекаемых дочерних элементов. Задайте для NULL
всех дочерних элементов, которые нужно получить.
compareFlags
[in] Указывает параметры сравнения, применяемые к сопоставлению имен. Значения перечисления NameSearchOptions можно использовать отдельно или в сочетании.
ppResult
[out] Возвращает объект IDiaEnumSymbols , содержащий список извлеченных дочерних символов.
Возвращаемое значение
В случае успешного выполнения возвращается S_OK
; в противном случае возвращается код ошибки.
Пример
В следующем примере показано, как найти локальные переменные функции pFunc
, соответствующие имени szVarName
.
IDiaEnumSymbols* pEnum;
pSession->findChildren( pFunc, SymTagData, szVarName, nsCaseSensitive, &pEnum );