IDiaEnumSymbols

枚举数据源包含的各种符号。

IDiaEnumSymbols : IUnknown

方法按 Vtable 顺序

下表显示 IDiaEnumSymbols方法。

方法

说明

IDiaEnumSymbols::get__NewEnum

检索此枚举器的 IEnumVARIANT Interface 版本。

IDiaEnumSymbols::get_Count

检索符号的数目。

IDiaEnumSymbols::Item

通过索引检索符号。

IDiaEnumSymbols::Next

检索符号指定数目的枚举序列的。

IDiaEnumSymbols::Skip

跳过符号指定数目的枚举序列的。

IDiaEnumSymbols::Reset

重置枚举序列与开头。

IDiaEnumSymbols::Clone

创建包含枚举状态和枚举当前枚举数相同的枚举数。

备注

,例如,此接口提供符号 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

请参见

参考

IDiaSession::findChildren

IDiaSourceFile::get_compilands

IDiaSymbol::findChildren

其他资源

接口(调试接口访问 SDK)