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 Enumeration 枚举。 设置为 SymTagNull
以检索所有子项。
name
[in] 指定要检索的子项的名称。 对于要检索的所有子项,设置为 NULL
。
compareFlags
[in] 指定应用于名称匹配的比较选项。 NameSearchOptions Enumeration 枚举中的值可以单独使用,也可以组合使用。
ppResult
[out] 返回包含检索到的子符号列表的 IDiaEnumSymbols 对象。
返回值
如果成功,则返回 S_OK
;否则,返回错误代码。
示例
以下示例介绍如何查找与名称 szVarName
匹配的函数 pFunc
的局部变量。
IDiaEnumSymbols* pEnum;
pSession->findChildren( pFunc, SymTagData, szVarName, nsCaseSensitive, &pEnum );