检索与名称和符号类型匹配的指定父标识符的所有子级,包括优化的局部变量。
语法
HRESULT findChildrenEx (
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;否则,返回错误代码。
示例
以下示例介绍如何查找与名称 szVarName 匹配的函数 pFunc 的局部变量。
IDiaEnumSymbols* pEnum;
pSession->findChildrenEx( pFunc, SymTagData, szVarName, nsCaseSensitive, &pEnum );