枚举数据源包含的各种符号。
IDiaEnumSymbols : IUnknown
方法按 Vtable 顺序
下表显示 IDiaEnumSymbols方法。
方法 |
说明 |
---|---|
检索此枚举器的 IEnumVARIANT Interface 版本。 |
|
检索符号的数目。 |
|
通过索引检索符号。 |
|
检索符号指定数目的枚举序列的。 |
|
跳过符号指定数目的枚举序列的。 |
|
重置枚举序列与开头。 |
|
创建包含枚举状态和枚举当前枚举数相同的枚举数。 |
备注
,例如,此接口提供符号 SymTagUDT (用户定义的类型) 或 SymTagBaseClass特定类型的分组的符号。若要使用地址分组符号时,请使用 IDiaEnumSymbolsByAddr 接口。
调用方的说明
通过调用下列方法获取此接口:
示例
此示例演示如何获取 IDiaEnumSymbols 接口然后使用该枚举列表用户定义的类型 (UDTs)。
![]() |
---|
CDiaBSTR 是包装释放字符串的 BSTR 和自动处理的类,在这个实例化超出范围。 |
void ShowUDTs(IDiaSymbol *pGlobals)
{
CComPtr<IDiaEnumSymbols> pEnum;
CComPtr<IDiaSymbol> pSymbol;
HRESULT hr;
hr = pGlobals->findChildren(SymTagUDT,
NULL,
nsfCaseInsensitive | nsfUndecoratedName,
&pEnum);
if (hr == S_OK)
{
while ( SUCCEEDED( hr = pEnum->Next( 1, &pSymbol, &celt ) ) &&
celt == 1 )
{
CDiaBSTR name;
if ( pSymbol->get_name( &name ) != S_OK )
Fatal( "get_name" );
printf( "Found UDT: %ws\n", name );
pSymbol = 0;
}
}
}
要求
标题:Dia2.h
库:diaguids.lib
DLL:msdia80.dll
请参见
参考
IDiaSourceFile::get_compilands