Поделиться через


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 интерфейс и затем использует это перечисление, чтобы указать пользовательские типы (udt).

Примечание

CDiaBSTR класс, который создает программу-оболочку a 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 для доступа к интерфейсу отладки)