IDiaEnumSymbols
Перечисляет различные символы, содержащиеся в источнике данных.
IDiaEnumSymbols : IUnknown
Методы в том порядке Vtable
В следующей таблице показаны методы IDiaEnumSymbols.
Метод |
Описание |
---|---|
Извлекает IEnumVARIANT Interface версия данного перечислителя. |
|
Получает количество символов. |
|
Получает символ посредством индекса. |
|
Возвращает указанное число символов в последовательности перечисления. |
|
Пропустить указанное количество символов в последовательности перечисления. |
|
Сбросить последовательность перечисления в начало. |
|
Создает перечислитель с тем же состоянием перечисления, что и текущий перечислитель. |
Заметки
Этот интерфейс предоставляет символы группированные определенным типом символов, например 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
См. также
Ссылки
IDiaSourceFile::get_compilands