IDiaSession::findChildren

检索名称和符号类型都匹配的特定父标识符的所有子级。

语法

HRESULT findChildren ( 
   IDiaSymbol*       parent,
   SymTagEnum        symtag,
   LPCOLESTR         name,
   DWORD             compareFlags,
   IDiaEnumSymbols** ppResult
);

参数

parent

[in] 表示父级的 IDiaSymbol 对象。 如果该父符号是函数、模块或块,那么其词汇子级将以 ppResult 格式返回。 如果父符号是一种类型,则返回其类子级。 如果该参数是 NULL,那么 symtag 必须设置为 SymTagExeSymTagNull,以便返回全局范围(.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 );

另请参阅