Поделиться через


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 );

См. также